【Java Web开发学习】Spring4条件化的bean
【Java Web開發(fā)學習】Spring4條件化的bean
轉(zhuǎn)載:https://www.cnblogs.com/yangchongxing/p/9071960.html
Spring4引入了@Conditional注解,可以用到帶有@Bean注解的地方,若給定的條件計算為true則創(chuàng)建bean,否則bean被忽略
用法:@Conditional(PlayerCondition.class),設(shè)置為@Conditional注解的類必須是任意實現(xiàn)了org.springframework.context.annotation.Condition接口的類。該接口只有一個方法
public boolean matches(ConditionContext context, AnnotatedTypeMetadata matadata) {},返回boolean
package cn.ycx.web.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration;import cn.ycx.web.model.Painter; import cn.ycx.web.model.PainterCondition; import cn.ycx.web.model.Player; import cn.ycx.web.model.PlayerCondition; @Configuration public class TestConfig {@Bean@Conditional(PlayerCondition.class)public Player player() {return new Player();}@Bean@Conditional(PainterCondition.class)public Painter painter() {return new Painter();} } package cn.ycx.web.model;import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.env.Environment; import org.springframework.core.type.AnnotatedTypeMetadata;public class PlayerCondition implements Condition {@Overridepublic boolean matches(ConditionContext context, AnnotatedTypeMetadata matadata) {Environment env = context.getEnvironment();return env.containsProperty("CONDITION_PALY");} } package cn.ycx.web.model;import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.env.Environment; import org.springframework.core.type.AnnotatedTypeMetadata;public class PainterCondition implements Condition {@Overridepublic boolean matches(ConditionContext context, AnnotatedTypeMetadata matadata) {Environment env = context.getEnvironment();return env.containsProperty("CONDITION_PAINT");} }環(huán)境變量包含CONDITION_PALY就創(chuàng)建PlayerCondition
環(huán)境變量設(shè)置:
windows系統(tǒng)
spring.CONDITION_PALY=playubuntu系統(tǒng)
當前用戶
$ vim ~/.bashrc 追加 export CONDITION_PALY=play $ source ~/.bashrc所有用戶
# vim /etc/profile 追加 export CONDITION_PALY=play # source /etc/profile轉(zhuǎn)載于:https://www.cnblogs.com/yangchongxing/p/9071960.html
總結(jié)
以上是生活随笔為你收集整理的【Java Web开发学习】Spring4条件化的bean的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle表字段的增删改和重命名
- 下一篇: 二叉树的基本理论知识