Spring--装配Bean

一、自动化装配

1、组件扫描(Component scanning):Spring会自动发现应用上下文所创建的Bean;

2、自动装配(autowiring):Spring自动满足bean之间的依赖。

 

二、Java代码装配bean--JavaConfig显示装配

1、多数情况下可以通过组件扫描和自动装配实现Spring的自动化配置,但要将第三方库中的组件装配到项目应用中,并没有办法在它的类上添加@Component和@Autowired注解,这种情况下就需要使用Java和XML显示装配;

2、@Bean注解的方法上,Spring会拦截所有对此方法的二次调用,确保直接返回该方法所创建的bean,而不是每次都进行实际的调用。因此,默认情况下,Spring中的bean都是单例的,一个bean在多次注入其他bean中的情况下,也就相当于共享这一个bean。

 

三、XML装配bean

1、自动化装配和Java代码装配之前的历史中,XML描述配置是主要方式,目前对于多数开发者来说XML配置主要用于维护已有的XML 配置;

2、除了手动创建XML配置外,还可以使用工具: Spring Tool Suite(https://spring.io/tools/sts);

3、与Java代码配置相比的缺点,XML配置不能保证类属性中的类就是你需要的类,并且在类重命名的情况下更难以维护。

 

四、依赖注入bean

构造器注入、Setter注入:通过@Autowired注解将需要注入的bean进行依赖关联。

 

五、导入和混合配置

1、@Import注解是引入带有@Configuration的java类;

2、@ImportResource是引入Spring配置文件*.xml。

3、构建一个config配置类,引入相应的Java Config类及XML配置文件:

@Configuration

@Import([Class name].class)

@ImportResource("classpath: [XML文件名].xml")

 

六、注意

自动装配的优势在于减少装配应用程序组件时所需要的显示配置。但仅有一个bean匹配所需的结果时,自动装配才是有效的;如果有多个可以匹配的bean,自动装配会产生歧义导致装配失效,抛出NoUniqueBeanDefinitionException异常。那么这时就需要对相应的beans做不同标识。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值