springboot的profile注解使用

codecraft

@Profile

该注解配合@Configuration可以使用java代码指定不同profile的配置,可以注解在类上,也可以注解在@Bean的方法上。

注解在类上

dev

@Configuration
@Profile("dev")
public class CacheConfigDev {

    private static final Logger log = LoggerFactory.getLogger(CacheConfigDev.class);

    @Bean
        public CacheManager concurrentMapCacheManager() {
        log.debug("Cache manager is concurrentMapCacheManager");
                return new ConcurrentMapCacheManager("movieFindCache");
        }

}

prod

@Configuration
@Profile("prod")
public class CacheConfigProd {

    private static final Logger log = LoggerFactory.getLogger(CacheConfigProd.class);

    @Bean
    public CacheManager cacheManager() {
        log.debug("Cache manager is ehCacheCacheManager");
        return new EhCacheCacheManager(ehCacheCacheManager().getObject());
    }

    @Bean
    public EhCacheManagerFactoryBean ehCacheCacheManager() {
        EhCacheManagerFactoryBean cmfb = new EhCacheManagerFactoryBean();
        cmfb.setConfigLocation(new ClassPathResource("ehcache.xml"));
        cmfb.setShared(true);
        return cmfb;
    }

}

注解在@Bean上

@Configuration
public class ProfileConfig {

    @Bean(name="dev")
    @Profile("dev")
     DevProfile devProfile() {
        return new DevProfile();
    }

    @Bean(name="prod")
    @Profile("prod")
     ProdProfile ProdProfile() {
        return new ProdProfile();
    }
}

docs

阅读 6.9k

code-craft
spring boot , docker and so on 欢迎关注微信公众号: geek_luandun

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很...

11.6k 声望
1.9k 粉丝
0 条评论
你知道吗?

当一个代码的工匠回首往事时,不因虚度年华而悔恨,也不因碌碌无为而羞愧,这样,当他老的时候,可以很...

11.6k 声望
1.9k 粉丝
文章目录
宣传栏