一:spring提供了4种自动装配策略
1:byName: 把与Bean的属性具有相同名字(或者ID)的其他Bean自动装配到 Bean的对应属性中。
2:byType:把与Bean的属性具有相同类型的其他Bean自动装载到Bean的对应属性中。
3:constructor:把与Bean的构造器入参具有相同类型的其他Bean自动装配到Bean构造器的对应参数中。
4:autodelect:先使用constructor,如果没有找到载使用byName
二:使用注解自动装配
1:Spring自带的@Autowired注解,默认按byType类型注入,可以用在setter方法,一般方法,构造方法,成员属性
Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上。前者,Spring会直接将UserDao类型的唯一一个bean赋值给userDao这个成员变量;后者,Spring会调用setUserDao方法来将UserDao类型的唯一一个bean装配到userDao这个属性。
Autowired标注具有强契约特征,其所标注的属性或参数必须是可装配的,可以通过@autowired(required=false)不一定需要注入Bean。可以配合使用@Qualifier来明确区分出那一个Bean才是真正需要的。因为@Qualifier意味着把@Autowired的byType类型注入,转为byName
2: @Inject注解:标准的自动装配,默认按byName
与@AutoWired区别:使用@Inject注解所标注的依赖关系必须存在。
3:@Resource注解,默认按byName类型注入:
@Resource有两个属性是比较重要的,分是name和type,Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略。
@Resource装配顺序1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常
2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常
3. 如果指定了type,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常
4. 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配
相关推荐
spring注解 -----最简单的注解与自动装配例子
自己实现的简易的模拟Spring的IoC容器,实现注解自动装配
Spring 自动装配及其注解 博客:https://blog.csdn.net/u010476739/article/details/76735241
主要为大家详细介绍了Java注解机制之Spring自动装配实现原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
Spring@Autowired注解与自动装配.rar
基于java实现的类似spring自动装配的代码。
主要介绍了Spring注解实现自动装配过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
spring注解方式解析 1.ioc自动装配 2.注入解析
本博客https://blog.csdn.net/qq_40634846有零基础入门Spring,有兴趣可关注本博客。希望对大家有帮助
主要介绍了Spring自动装配与扫描注解代码详解,具有一定借鉴价值,需要的朋友可以参考下。
1.Spring Boot 有哪些优点? 2.Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 3.Spring Boot 自动配置原理是什么? 等等
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。 自动装配(autowiring):Spring自动满足bean之间的依赖。 1 使用@Component定义bean 在类声明的...
Spring注解驱动开发实战 组件注册,生命周期,自动装配
主要介绍了彻底搞明白Spring中的自动装配和Autowired注解的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用Spring注解方式管理事务与传播行为详解 24.使用Spring配置文件实现事务管理 25.搭建和配置Spring与Hibernate整合的环境 26.Spring集成的Hibernate编码与测试 27.Struts与Spring集成方案1(Struts集成Spring) ...
文章目录一、注解实现bean自动装配二、注解开发 一、注解实现bean自动装配 自动装配是Spring满足bean依赖一种方式!Spring会在上下文中自动寻找,并自动给bean装配属性! 下面我们来做以下实验 建立如下测试环境:一...
SpringBoot 打成jar包供第三方引用自动装配方案实现 每天多学一点点~ 话不多说,这就开始吧… ...虽然知道目前水平有限,先试试普通的jar包如何与spring自动装配吧~ 环境 jdk1.8 springboot 2.1.12.RELEASE 2.使用者手
NULL 博文链接:https://364232252.iteye.com/blog/2369853
NULL 博文链接:https://huangminwen.iteye.com/blog/1874539