2019.6.28 Spring注解
2020-12-13 04:10
标签:public spring init nconf rabl person ble 获取 注册 Spring提供了获取操作系统的信息: Conditional根据条件判断是否将bean注册到容器中 需要将注解bean的方法加上@Conditional @Conditiona接受一个Condition类型的CLass数组, 需要写一个条件类来实现Conditional接口里面的matches matches的方法形参是ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata 2019.6.28 Spring注解 标签:public spring init nconf rabl person ble 获取 注册 原文地址:https://www.cnblogs.com/mwss/p/11105110.html6.28
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Myconfig.class);
ConfigurableEnvironment contextEnvironment = (ConfigurableEnvironment) applicationContext.getEnvironment();
/*对应jvm参数中的os.name*/
String ospropertyname = contextEnvironment.getProperty("os.name");
System.out.println(ospropertyname);
public class Os implements Condition {
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
/*获取ioc使用的beanfactory*/
ConfigurableListableBeanFactory beanFactory = conditionContext.getBeanFactory();
/*获取bean定义的注册类*/
BeanDefinitionRegistry registry = conditionContext.getRegistry();
Environment environment = conditionContext.getEnvironment();
String ospropertyname = environment.getProperty("os.name");
/*判断容器中是否含有bean*/
//boolean person = registry.containsBeanDefinition("person");
if(ospropertyname.contains("window")){
return true;
}
return false;
}
}
上一篇:python cookbook3
下一篇:MVC4 的视图引擎