Spring 创建条件化的bean(满足一定条件才会实例化该bean)
来源:互联网 发布:environ linux 编辑:程序博客网 时间:2024/06/05 02:20
Spring 创建条件化的bean(满足一定条件才会实例化该bean)
- 应用场景:
- 要求在特定的环境变量下创建该bean
- 希望某个bean被声明时候才会创建该bean
- 希望一个或者多个bean只有在应用的类路径下包含特定的数据库才创建
- 解决办法:
- 利用Spring4.0里的注解@Conditional,他可以用在带有@Bean注解的方法上,如果给定的条件返回true,则创建该bean,否则就会忽略该bean的创建。
- 例如:
- 假如我们有一个名为Person的类,我们希望设置了isOk属性为true才会实例化Person对象,如果该属性值为false或者没有改属性则该类就会被忽略实例化
- 代码如下:
@Bean@Conditional(isOk.class)//指定一个实现了Condition的类,他会返回一个boolean值public Person perosonBean(){ return new Person();}//实现了Condition接口的类,作用就是判断是否满足条件public class IsOk implements Condition{ public boolean matches(ConditionContext context,AnotatedyTypeMetadata metadate){ Environment evn = context.getEnvironment(); return evn.containsProperty("isOk"); }}
ConditionContext 接口中有如下方法,具体解释如下:
AnotatedyTypeMetadata 也是一个接口,它是用来检查带@Bean上还有其他的注解么,其中它中的一个方法isAnnotated()就是判断还有其他注解没。
重点内容 :Spring4.0中对@Profile注解进行了重构,他是基于@Conditional和Condition实现的
阅读全文
1 0
- Spring 创建条件化的bean(满足一定条件才会实例化该bean)
- Spring 条件化Bean @Conditional
- Spring高级装配--条件化的bean
- 十三、条件化的bean
- spring--profile和条件化bean
- Spring源码分析:多个bean同时满足注入条件时,spring的选择
- Spring 全注解配置 bean 和 调用 (3) @Conditonal 条件化的配置bean
- spring boot 条件注解的使用@Conditional;@Conditional 可以根据条件,创建不同的bean,
- SPRING BEAN的实例化
- spring Bean的实例化
- Spring的Bean实例化
- Spring-Bean的实例化
- Spring系列--bean容器的实例化之构造器创建bean实例(采用dtd约束)
- spring实战-条件装配bean
- Spring 实例化bean
- spring实例化bean
- Spring实例化bean
- ie8中图片设置max-width属性满足一定的条件会导致消失
- openGL对基本几何图形的定义
- 数据库分区例子
- i2c驱动--裸板程序i2c总线接AT24cxx
- UEditor上传配置&常见问题
- 微信公众号开发(三)获取access_token
- Spring 创建条件化的bean(满足一定条件才会实例化该bean)
- [U3D]问题记录
- 使用 GNU profiler 来提高代码运行速度
- 企业做网站该用什么程序呢?实用最实在
- SQL语句基础
- 2017.9.5 能量采集 思考记录
- c++继承
- HDOJ HDU 1024 Max Sum Plus Plus
- Android开发 之 OpenGL ES系列(3--坐标系)