码迷,mamicode.com
首页 > 编程语言 > 详细

spring不同配置下的注入方式

时间:2021-01-07 12:00:23      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ext   模式   property   auto   放弃   contex   全局   多个   tar   

来源于 Spring基础(2):放弃XML,走向注解

 

xml配置
  至此,我们把XML配置下2种注入方式都实验过了,它们的区别是:

  XML配置<property> + 对象提供对应的setter方法
  XML配置<constructor-arg> + 对象提供对应的构造方法
  改变XML配置的同时,需要对象提供对应的方法支持。如果你用了<property>,却没有在类中提供setter方法,则会报错。


xml自动装配
  Spring支持自动装配(全局/局部),把原先<bean>标签的职责单一化,只定义bean,而依赖关系交给类本身维护
  自动装配共4种,除了no,其他3种各自对应两种注入方式:byName/byType对应setter方法注入,constructor对应构造方法注入 (请自己动手证明)

 

注解自动装配
  也就是说,@Autowired默认采用byType模式自动装配,如果找到多个同类型的,会根据名字匹配。都不匹配,则会报错。

  @Autowired:默认byType,type相同则byName
  @Resource:和@Autowired几乎一样,但不能配合@Qualifier,因为它本身就可以指定beanName。但没有required属性

配置类充当xml
  Java-based Container Configuration编程风格指的是:

  用@Configuration把一个普通Java类变成配置类,充当XML
  在配置类中写多个方法,加上@Bean把返回值对象加到Spring容器中
  把配置类AppConfig喂给AnnotationConfigApplicationContext,让它像解析XML一样解析配置类
  无需加@Component注解,因为我们可以手动new之后通过@Bean加入容器

 

spring不同配置下的注入方式

标签:ext   模式   property   auto   放弃   contex   全局   多个   tar   

原文地址:https://www.cnblogs.com/pong137/p/14231863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!