spring3装配Bean

spring3装配Bean

装配方式有三种,自动装配、java代码装配以及xml方式。spring3之后提供javaConfig方式配置,简化xml配置,且增强了灵活性,下面简要说明spring的自动装配Bean及javaConfig方式配置。

1.自动装配Bean

自动装配主要通过注解实现,首先在pojo上增加注解,指定其为spring扫描对象。

spring常用注解

  • @Component (@Name)
  • @Autowired (@Inject)

当 Spring 容器启动时,AutowiredAnnotationBeanPostProcessor 将扫描 Spring 容器中所有 Bean,当发现 Bean 中拥有 @Autowired 注释时就找到和其匹配(默认按类型匹配)的 Bean,并注入到对应的地方中去。
所以对类成员变量使用 @Autowired 后,Spring 将直接采用Java反射机制对私有成员变量进行自动注入,可以将它们的 setter 方法从类中删除。当然,也可以通过 @Autowired 对方法或构造函数进行标注。

  • @ComponentScan
    默认会扫描与配置类相同的包,也可以通过basePackage属性进行指定包。与xml中的配置一致: <context:component-scan>,一般扫描注解在配置类上使用,也可以在xml中设置。
  • @Configuration :指定当前类为配置类。
  • @ComponentScan

2.java代码装配

尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化配置是更为推荐的方式,但有时候自动化配置的方案行不通,因此需要明确配置Spring。
比如说,你想要将第三方库中的组件装配到你的应用中,在这种情况下,是没有办法在它的类上添加@Component和@Autowired注解的,因此就不能使用自动化装配的方案了。
在这种情况下,你必须要采用显式装配的方式。在进行显式配置的时候,有两种可选方案:Java和XML。

JavaConfig与其他的Java代码又有所区别,在概念上,它与应用程序中的业务逻辑和领域代码是不同的。通常会将JavaConfig放到单独的包中,使它与其他的应用程序逻辑分离开来,这样对于它的意图就不会产生困惑了。 创建JavaConfig类的关键在于为其添加@Configuration注解,@Configuration注解表明这个类是一个配置类,该类应该包含在Spring应用上下文中如何创建bean的细节。
  • @Bean

    该注解会告诉Spring这个方法将会返回一个对象,该对象要注册为Spring应用上下文中的bean。方法体中包含了最终产生bean实例的逻辑。

  • @Import

    注解可以导入@Configuration注解对应的配置类,从而现实多个配置进行整合。

  • @ImportResource注解

    利用该注解Spring同时加载xml和其他基于Java的配置。示例:@ImportResource(“classpath:bean-config.xml”)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值