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依赖注入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springcloud3 Sentinel的搭建及案例操作方法

    springcloud3 Sentinel的搭建及案例操作方法

    Sentinel是分布式系统流量控制的哨兵,阿里开源的一套服务容错的综合性解决方案,这篇文章主要介绍了springcloud3 Sentinel的搭建以及案例操作,需要的朋友可以参考下
    2023-01-01
  • spring与mybatis整合配置文件

    spring与mybatis整合配置文件

    本文通过实例代码给大家介绍了spring与mybatis整合配置文件的方法,需要的朋友参考下吧
    2017-09-09
  • java中int、double、char等变量的取值范围详析

    java中int、double、char等变量的取值范围详析

    这篇文章主要给大家介绍了关于java中int、double、char等变量取值范围的相关资料,每个变量都给出了详细的实例代码,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下
    2021-10-10
  • SpringBoot实现文件在线预览功能的全过程

    SpringBoot实现文件在线预览功能的全过程

    我们开发业务系统的时候,经常有那种文档文件在线预览的需求,下面这篇文章主要给大家介绍了关于SpringBoot实现文件在线预览功能的相关资料,需要的朋友可以参考下
    2021-11-11
  • Java实现两个随机数组合并进行排序的方法

    Java实现两个随机数组合并进行排序的方法

    本文主要介绍了Java实现两个随机数组合并进行排序的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • kafka手动调整分区副本数的操作步骤

    kafka手动调整分区副本数的操作步骤

    这篇文章主要介绍了kafka手动调整分区副本数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • java自定义枚举转换器示例

    java自定义枚举转换器示例

    这篇文章主要介绍了java自定义枚举转换器示例,需要的朋友可以参考下
    2014-05-05
  • Java遍历Map的5种方式实例

    Java遍历Map的5种方式实例

    Map作为Java中的一种集合,以键值对的形式存放一批数据,经常会被我们应用在项目中,下面这篇文章主要给大家介绍了关于Java遍历Map的5种方式,需要的朋友可以参考下
    2023-02-02
  • Spring中的@Transactional注解使用详解

    Spring中的@Transactional注解使用详解

    这篇文章主要介绍了Spring中的@Transactional注解使用详解,@Transactional 是一个注解,用于在 Spring 框架中管理事务的声明式事务管理机制,它可以应用于方法或类级别,并指示方法或类在执行时应该被包装在一个事务中,需要的朋友可以参考下
    2024-01-01
  • java swing 实现加载自定义的字体

    java swing 实现加载自定义的字体

    这篇文章主要介绍了java swing 实现加载自定义的字体,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11

最新评论