spring自动装配、注解
spring自动装配
Spring 自动装配 byName
这种模式由属性名称指定自动装配。Spring 容器看作 beans,在 XML 配置文件中 beans 的 auto-wire 属性设置为 byName。然后,它尝试将它的属性与配置文件中定义为相同名称的 beans 进行匹配和连接。如果找到匹配项,它将注入这些 beans,否则,它将抛出异常。
例如,在配置文件中,如果一个 bean 定义设置为自动装配 byName,并且它包含 spellChecker 属性(即,它有一个 setSpellChecker(...) 方法)
,那么 Spring 就会查找定义名为 spellChecker 的 bean,并且用它来设置这个属性。你仍然可以使用 <property>
标签连接其余的属性。
Spring 自动装配 byType
这种模式由属性类型指定自动装配。Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 byType。然后,如果它的 type 恰好与配置文件中 beans 名称中的一个相匹配,它将尝试匹配和连接它的属性。如果找到匹配项,它将注入这些 beans,否则,它将抛出异常。
例如,在配置文件中,如果一个 bean 定义设置为自动装配 byType,并且它包含 SpellChecker 类型的 spellChecker 属性,那么 Spring 就会查找定义名为 SpellChecker 的 bean,并且用它来设置这个属性。你仍然可以使用 <property>
标签连接其余属性。
Spring 由构造函数自动装配
这种模式与 byType 非常相似,但它应用于构造器参数。Spring 容器看作 beans,在 XML 配置文件中 beans 的 autowire 属性设置为 constructor。然后,它尝试把它的构造函数的参数与配置文件中 beans 名称中的一个进行匹配和连线。如果找到匹配项,它会注入这些 bean,否则,它会抛出异常。
例如,在配置文件中,如果一个 bean 定义设置为通过构造函数自动装配,而且它有一个带有 SpellChecker 类型的参数之一的构造函数,那么 Spring 就会查找定义名为 SpellChecker 的 bean,并用它来设置构造函数的参数。
注解
序号 | 注解 & 描述 |
---|---|
1 | @Required@Required 注解应用于 bean 属性的 setter 方法。 |
2 | @Autowired@Autowired 注解可以应用到 bean 属性的 setter 方法,非 setter 方法,构造函数和属性。 |
3 | @Qualifier通过指定确切的将被连线的 bean,@Autowired 和 @Qualifier 注解可以用来删除混乱。 |
4 | JSR-250 AnnotationsSpring 支持 JSR-250 的基础的注解,其中包括了 @Resource,@PostConstruct 和 @PreDestroy 注解。 |
Setter 方法中的 @Autowired:
你可以在 XML 文件中的 setter 方法中使用 @Autowired 注释来除去 元素。当 Spring遇到一个在 setter 方法中使用的 @Autowired 注释,它会在方法中视图执行 byType 自动连接。
原文:https://www.w3cschool.cn/wkspring/9sle1mmh.html
spring自动装配、注解相关推荐
- Spring自动装配----注解装配----Spring自带的@Autowired注解
Spring自动装配----注解装配----Spring自带的@Autowired注解 父类 package cn.ychx;public interface Person {public void ...
- Spring自动装配注解
Spring自动装配注解 注解 来源 特点与区别 备注 @Autowired Spring定义 Spring提供自动装配注解 @Autowired详解 @Resource(JSR250) java注解 ...
- java集成测试_基于TestNG+Mockito及自动装配注解的Spring MVC集成测试
本文主要总结自己近期在项目中对MVC集成测试的实践及理解,因为先前对这块未实践过.主要参考了官方文档<11.3.6 Spring MVC Test Framework>这一章节内容,涉及到 ...
- Java的注解机制——Spring自动装配的实现原理
JDK1.5加入了对注解机制的支持,实际上我学习Java的时候就已经使用JDK1.6了,而且除了@Override和@SuppressWarnings(后者还是IDE给生成的--)之外没接触过其他的. ...
- Spring注解驱动开发学习总结8:自动装配注解@Autowire、@Resource、@Inject
Spring注解驱动开发学习总结8:自动装配注解@Autowire.@Resource.@Inject 1.自动装配@Autowire.@Resource.@Inject 1.1 构建bookDao ...
- spring注解驱动开发-4 Spring 自动装配
Spring 自动装配 前言 Spring 自动装配的几种方式 1.@Autowired @Qualifier("组件id") @Primary 2.@Resource方式 3.@ ...
- Spring自动装配(基于注解)
从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理.开发人员可以通过注解在不改变原有代码和逻辑的情 ...
- spring——Spring自动装配(基于注解)(转载)
从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理. 开发人员可以通过注解在不改变原有代码和逻辑的 ...
- Spring自动装配(autowire)篇
什么是自动装配 自动装配帮我们省去了 property标签配置操作,Spring会自动根据 属性名称,类型,构造器来进行自动注入. 例如不进行自动装配配置如下: <bean id="u ...
最新文章
- mabatisplus怎么给实体类自定义属性_吊打面试官之:当实体类中的属性名和表中的字段名不一样 ,怎么办 ?...
- VMware下Ubuntu联网操作
- 皮一皮:真的是方法不对吗?
- Hadoop–Task 相关
- 软件测试中排错的基本方法
- 怎么更新android 10.0,Android 10.0(Q OS)系统升级计划Androi
- Linux学习笔记--文件夹结构
- 计算机数值数据的编码,计算机数值数据编码(原码,反码,补码,移码)
- 从一个故事开始谈项目与团队管理
- 华为机试HJ37:统计每个月兔子的总数(斐波那契数列)
- Zabbix自带模板监控MySQL服务
- 《东周列国志》第五十三回 楚庄王纳谏复陈 晋景公出师救郑
- Linux 用户管理 修改用户的家目录 useradd usermod
- 逆向基础 OS-specific (四)
- springboot Validation
- QQ空间欢迎动画代码大全
- YUV编码为HEVC(H.265)
- 初学者制作自己的网站详细流程(可以上传自己做的网页)
- AMD CPU 电脑突然画面声音突然卡顿,卡碟声,画面撕裂
- UI层自动化测试框架(五):业务层和用例层
热门文章
- django restframwork 教程之authentication权限
- LIDAR in Google Earth
- 廖雪峰js教程笔记10 浏览器对象
- wp7设置浏览器主页
- 安装非认证的chrome插件和设置文件夹的权限
- ASP.NET MVC2 使用绑定时 等号和冒号的差别 %=%和%:%的区别
- 回调机制在 Android 监听用户界面操作中的体现
- [Vue.js] 基础 -- 安装Vue
- javascript中为某个对象(控件)绑定事件的几种方法
- html5学习新的知识总结(一)