spring IOC中三种依赖注入方式

 更新时间:2021年08月17日 16:22:32   作者:Nirvana8921  
这篇文章主要介绍了spring IOC中三种依赖注入方式,Spring使用注入方式,为什么使用注入方式,这系列问题实际归结起来就是一句话,Spring的注入和IoC(本人关于IoC的阐述)反转控制是一回事

一、Spring IOC(依赖注入的三种方式):

1、Setter方法注入。

2、构造方法注入。

使用构造方法,注入bean值。
关键代码:
	public UserServiceImpl(UserDao dao) {
		this.dao=dao;
	}
	
    <bean id="service" class="service.impl.UserServiceImpl">
       <constructor-arg><ref bean="dao"/></constructor-arg>
   </bean>

3、P命名空间注入。

二、Spring IOC(依赖注入的五种不同数据类型):

1、注入直接量(基本数据类型、字符串)

2、引用其他Bean组件。(面向接口编程)

    ref属性:

<bean id="dao" class="dao.impl.UserDaoImpl"></bean>
	<bean id="service" class="service.impl.UserServiceImpl">
	 <property name="dao" ref="dao"></property>
	</bean>

   <ref>子元素:

<bean id="dao" class="dao.impl.UserDaoImpl"></bean>
	<bean id="service" class="service.impl.UserServiceImpl">
	  <property name="dao">
	      <ref bean="dao"/>
	  </property>
	</bean>

  p命名空间:

  xmlns:p="http://www.springframework.org/schema/p"
	<bean id="dao" class="dao.impl.UserDaoImpl"></bean>	
	<bean id="service" class="service.impl.UserServiceImpl" p:dao-ref="dao">
	</bean>

3、使用内部Bean。

<bean id="service" class="service.impl.UserServiceImpl">
	          <property name="dao">
	                 <bean class="dao.impl.UserDaoImpl"/>
	          </property>
	     </bean>

4、注入集合类型的属性。

5、注入null和空字符串。

到此这篇关于spring IOC中三种依赖注入方式的文章就介绍到这了,更多相关spring IOC依赖注入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java微信企业号开发之通讯录

    java微信企业号开发之通讯录

    这篇文章主要为大家详细介绍了java微信企业号开发之通讯录的相关资料,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • SpringMVC文件上传功能实例解析

    SpringMVC文件上传功能实例解析

    这篇文章主要介绍了SpringMVC文件上传功能实例解析,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-03-03
  • java使用UDP实现点对点通信

    java使用UDP实现点对点通信

    这篇文章主要为大家详细介绍了java使用UDP实现点对点通信,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Java CountDownLatch应用场景代码实例

    Java CountDownLatch应用场景代码实例

    这篇文章主要介绍了Java CountDownLatch应用场景代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 解决bootstrap.yml不生效,无法优先于application.yml文件加载问题

    解决bootstrap.yml不生效,无法优先于application.yml文件加载问题

    文章主要讨论了在Spring Boot项目中,`bootstrap.yml`文件无法优先于`application.yml`文件加载的问题,原因是缺少了`nacos-config`依赖,且需要确保Spring Boot版本与`nacos-config`版本匹配,作者希望通过分享个人经验,帮助他人解决类似问题
    2024-12-12
  • MyBatis的⾼级映射及延迟加载过程详解

    MyBatis的⾼级映射及延迟加载过程详解

    这篇文章主要介绍了MyBatis的⾼级映射及延迟加载,包括多对一延时加载方式及一对多,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 基于java servlet过滤器和监听器(详解)

    基于java servlet过滤器和监听器(详解)

    下面小编就为大家带来一篇基于java servlet过滤器和监听器(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Springboot中路径参数带 (%2F)的问题彻底解决方案

    Springboot中路径参数带 (%2F)的问题彻底解决方案

    这篇文章主要介绍了彻底解决Springboot中路径参数带(%2F)的问题,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Java实现注册邮箱激活账户实例代码

    Java实现注册邮箱激活账户实例代码

    本篇文章主要介绍了Java实现邮箱激活账户实例代码,这里整理了详细的代码,具有一定的参考价值,有需要的小伙伴可以参考下。
    2017-07-07
  • 解决lombok的@Data注解无法打印继承的父类信息问题

    解决lombok的@Data注解无法打印继承的父类信息问题

    在Java编程中,使用@Data注解可能导致子类继承父类属性后,打印只显示子类信息不显示父类信息,问题源于@Data注解作用域仅限于当前类,解决方法包括使用@ToString(callSuper=true)注解或重写toString方法
    2024-11-11

最新评论