@Import批量注册bean

@Import出现的背景

目前为止,注解的方式批量注册bean,前面2篇文章中,我们介绍了2种方式:
到目前,我们知道的批量定义bean的方式有2种:

  1. @Configuration结合@Bean注解的方式
  2. @CompontentScan扫描包的方式
    下面我们来看几个问题。

问题1

如果需要注册的类是在第三方的jar中,那么我们如果想注册这些bean有2种方式:

  1. 通过@Bean标注方法的方式,一个个来注册
  2. @CompontentScan的方式:默认的@CompontentScan是无能为力的,默认情况下只会注册
    @Compontent标注的类,此时只能自定义@CompontentScan中的过滤器来实现了
    这2种方式都不是太好,每次有变化,调整的代码都比较多。

问题2

通常我们的项目中有很多子模块,可能每个模块都是独立开发的,最后通过jar的方式引进来,每个模块
中都有各自的@Configuration、@Bean标注的类,或者使用@CompontentScan标注的类,被
@Configuration、@Bean、@CompontentScan标注的类,我们统称为bean配置类,配置类可以用
来注册bean,此时如果我们只想使用其中几个模块的配置类,怎么办?
@Import可以很好的解决这2个问题,下面我们来看@Import怎么玩的

@Import使用

先看Spring对它的注释,总结下来作用就是和xml配置的 标签作用一样,允许通过它引入
@Configuration标注的类 , 引入ImportSelector接口和ImportBeanDefinitionRegistrar接口的实现,
也包括 @Component注解的普通类。
总的来说:@Import可以用来批量导入需要注册的各种类,如普通的类、配置类,完后完成普通类和
配置类中所有bean的注册。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值