SpringBoot中@Cacheable与@Bean搭配使用的有效性疑问
在@Configuration类中同时使用@Cacheable与@Bean的问题解析
示例代码
@Configuration public class CacheManager { @Cacheable("urls") @Bean public Map<String,String> loadUrl(){ // hashmap population logic return urlMap; } }
问题
上述写法会在配置阶段加载所有缓存吗?还是@Cacheable注解会被忽略?
结论与原因
这种写法里@Cacheable注解会被忽略,无法生效。原因是Spring在配置阶段创建Bean时,缓存代理尚未完成初始化并应用,所以@Cacheable定义的缓存逻辑不会被触发。
内容的提问来源于stack exchange,提问作者Ravindu Kottahachchi
相关产品推荐
相关产品推荐

