您的位置:首页 > 编程语言 > Java开发

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

2017-04-23 22:36 691 查看

问题

你欣赏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,这个注解就没有什么意义了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: