Spring学习笔记-IOC高级特性3-用Java Config简化XML配置

问题

你欣赏DI容器的能力,但希望覆盖一些配置,或者只希望将更多的设置从XML格式转移到Java中,可以更好的从重构和类型安全性中获益。

解决方案

可以使用Java Config。JavaConfig就是使用注释来描述Bean配置的组件,是Spring的一个子项目,目前已加入核心框架之中。

/**
 * 用javaConfig简化XML配置
 * Created by leon on 2017/4/25.
 */

@Configuration
public class PersonConfig {
    @Bean
    public person leon(){
        person leon = new person();
        leon.setName("Leon");
        return leon;
    }
}

这等价于如下xml

<bean id="leon" class="com.zy.IOC.person" p:name="Leon"/>

这样的改进是什么呢?不可否认是易读性的增加。同样可以为其指定生命周期方法:
第一种:

    @Bean(initMethod = "method1",destroyMethod = "method2")
    @Lazy
    public person leon(){
        person leon = new person();
        leon.setName("Leon");
        return leon;
    }

XML中定义的Bean全部配置选项都可以通过java config定义的Bean。
@Lazy、@Primary、@DependsOn注解的工作方式与XML等价的。@Lazy 将Bean的构造推迟到必须满足依赖或者应用上下文显示访问.@DependsOn指定一个Bean的创建必须在其他Bean创建之后,它的存在对于Bean的正确构建至关重要。@Primary指定相同接口的多个Bean。自然,如果你从容器按照名字访问Bean,这个注解就没有什么意义了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值