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自动装配、注解相关推荐

  1. Spring自动装配----注解装配----Spring自带的@Autowired注解

    Spring自动装配----注解装配----Spring自带的@Autowired注解 父类 package cn.ychx;public interface Person {public void ...

  2. Spring自动装配注解

    Spring自动装配注解 注解 来源 特点与区别 备注 @Autowired Spring定义 Spring提供自动装配注解 @Autowired详解 @Resource(JSR250) java注解 ...

  3. java集成测试_基于TestNG+Mockito及自动装配注解的Spring MVC集成测试

    本文主要总结自己近期在项目中对MVC集成测试的实践及理解,因为先前对这块未实践过.主要参考了官方文档<11.3.6 Spring MVC Test Framework>这一章节内容,涉及到 ...

  4. Java的注解机制——Spring自动装配的实现原理

    JDK1.5加入了对注解机制的支持,实际上我学习Java的时候就已经使用JDK1.6了,而且除了@Override和@SuppressWarnings(后者还是IDE给生成的--)之外没接触过其他的. ...

  5. Spring注解驱动开发学习总结8:自动装配注解@Autowire、@Resource、@Inject

    Spring注解驱动开发学习总结8:自动装配注解@Autowire.@Resource.@Inject 1.自动装配@Autowire.@Resource.@Inject 1.1 构建bookDao ...

  6. spring注解驱动开发-4 Spring 自动装配

    Spring 自动装配 前言 Spring 自动装配的几种方式 1.@Autowired @Qualifier("组件id") @Primary 2.@Resource方式 3.@ ...

  7. Spring自动装配(基于注解)

    从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理.开发人员可以通过注解在不改变原有代码和逻辑的情 ...

  8. spring——Spring自动装配(基于注解)(转载)

    从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译.类加载和运行时被读取,执行相应的处理. 开发人员可以通过注解在不改变原有代码和逻辑的 ...

  9. Spring自动装配(autowire)篇

    什么是自动装配 自动装配帮我们省去了 property标签配置操作,Spring会自动根据 属性名称,类型,构造器来进行自动注入. 例如不进行自动装配配置如下: <bean id="u ...

最新文章

  1. mabatisplus怎么给实体类自定义属性_吊打面试官之:当实体类中的属性名和表中的字段名不一样 ,怎么办 ?...
  2. VMware下Ubuntu联网操作
  3. 皮一皮:真的是方法不对吗?
  4. Hadoop–Task 相关
  5. 软件测试中排错的基本方法
  6. 怎么更新android 10.0,Android 10.0(Q OS)系统升级计划Androi
  7. Linux学习笔记--文件夹结构
  8. 计算机数值数据的编码,计算机数值数据编码(原码,反码,补码,移码)
  9. 从一个故事开始谈项目与团队管理
  10. 华为机试HJ37:统计每个月兔子的总数(斐波那契数列)
  11. Zabbix自带模板监控MySQL服务
  12. 《东周列国志》第五十三回 楚庄王纳谏复陈 晋景公出师救郑
  13. Linux 用户管理 修改用户的家目录 useradd usermod
  14. 逆向基础 OS-specific (四)
  15. springboot Validation
  16. QQ空间欢迎动画代码大全
  17. YUV编码为HEVC(H.265)
  18. 初学者制作自己的网站详细流程(可以上传自己做的网页)
  19. AMD CPU 电脑突然画面声音突然卡顿,卡碟声,画面撕裂
  20. UI层自动化测试框架(五):业务层和用例层

热门文章

  1. django restframwork 教程之authentication权限
  2. LIDAR in Google Earth
  3. 廖雪峰js教程笔记10 浏览器对象
  4. wp7设置浏览器主页
  5. 安装非认证的chrome插件和设置文件夹的权限
  6. ASP.NET MVC2 使用绑定时 等号和冒号的差别 %=%和%:%的区别
  7. 回调机制在 Android 监听用户界面操作中的体现
  8. [Vue.js] 基础 -- 安装Vue
  9. javascript中为某个对象(控件)绑定事件的几种方法
  10. html5学习新的知识总结(一)