赞
踩
@Profile的作用是把一些meta-data进行分类,分成Active和InActive这两种状态,然后你可以选择在active 和在Inactive这两种状态下配置bean,在Inactive状态通常的注解有一个!操作符,通常写为:@Profile("!p"),这里的p是Profile的名字。
三种设置方式:可以通过ConfigurableEnvironment.setActiveProfiles()以编程的方式激活。可以通过AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAME (spring.profiles.active )属性设置为JVM属性。作为环境变量,或作为web.xml 应用程序的Servlet 上下文参数。也可以通过@ActiveProfiles 注解在集成测试中以声明方式激活配置文件。作用域:作为类级别的注解在任意类或者直接与@Component 进行关联,包括@Configuration 类作为原注解,可以自定义注解作为方法的注解作用在任何方法注意:如果一个配置类使用了Profile 标签或者@Profile 作用在任何类中都必须进行启用才会生效,如果@Profile({“p1”,"!p2"}) 标识两个属性,那么p1 是启用状态 而p2 是非启用状态的。例如:@Profile(“dev”)public @Bean(“activityMongoFactory”)MongoDbFactory activityMongoFactoryDev(MongoClient activityMongo) { return new SimpleMongoDbFactory(activityMongo, stringValueResolver.resolveStringValue("${mongodb.dev.database}"));}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。