加载弹簧豆基于应用

问题描述:

我有一个罐子说common.jar其中包含两个高速缓存管理器豆像下面,加载弹簧豆基于应用

@Bean 
public CacheManager abcCacheManager() { 
    /* Bean for abc service */ 
} 

@Bean 
public CacheManager xyzCacheManager() { 
    /* Bean for xyz service */ 
} 

这些豆子都配置了不同的缓存名称作为我有两个不同的缓存(每个应用程序1个)。

现在,当我运行abc服务时,两个缓存管理器都被激活并加载两个缓存。

有没有一种方法,我只能根据调用的应用程序触发特定的bean?

+0

触发bean或者设置一些属性,以便应用程序启动时它将只包含你需要的bean? – Pavlo

使用@Conditional注释组的一个

请参阅从the doc

44.3条件注释你的情况可能是@ConditionalOnClass或者在运行时@ConditionalOnMissingClass