小编gri*_*mbo的帖子

Config.class 中的 CacheManager bean 定义导致 NoSuchBeanDefinitionException

我有一个正在检查数据库条目的 Spring 服务。为了最小化我的存储库调用,两个查找方法都是“@Cacheable”。但是当我尝试初始化我的服务 bean 而我的配置类有一个 CacheManager bean 定义时,我得到以下 NoSuchBeanDefinitionException:

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'foo.mediacode.directory.MediaCodeDirectoryService' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:353)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:340)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1093)
at foo.mediacode.directory.MediaCodeDirectoryService.implementation(MediaCodeDirectoryService.java:63)
at foo.campaigntree.directory.CampaignTreeDirectoryService.<init>(CampaignTreeDirectoryService.java:18)
... 15 more
Run Code Online (Sandbox Code Playgroud)

如果我取出 CacheManager bean 定义,我可以初始化我的服务 bean 并且它运行没有任何问题和缓存

这是我的代码:配置

...
    @Configuration
    @EnableCaching
    @EnableJpaRepositories(...)
    @PropertySource({...})
    public class MediaCodeDirectoryServiceConfig {

        private static Logger   configLogger    = Logger.getLogger(MediaCodeDirectoryServiceConfig.class.getName());

        @Value("${jpa.loggingLevel:FINE}")
        private String          loggingLevel;

        @Value("${mysql.databaseDriver}")
        private String          dataBaseDriver;

        @Value("${mysql.username}")
        private String          username;

        @Value("${mysql.password}")
        private String          password;

        @Value("${mysql.databaseUrl}")
        private String          databaseUrl;

        @Bean
        public …
Run Code Online (Sandbox Code Playgroud)

java eclipselink spring-data-jpa spring-cache

3
推荐指数
1
解决办法
1179
查看次数

标签 统计

eclipselink ×1

java ×1

spring-cache ×1

spring-data-jpa ×1