osi*_*gge 1 java spring spring-mvc spring-data spring-data-mongodb
I use Spring Data Mongo with repositories. In my xml-configuration everything works fine. Now I want to use Java configuration instead of xml-configuration. This is my java configuration for the repositories:
@Configuration
@EnableMongoRepositories
public class DefaultMongoDbFactoryConfig extends AbstractMongoConfiguration{
    @Value("${db.name}") private String dbName;
    @Inject
    private Mongo mongo;
    @Bean
    protected MongoDbFactory defaultMongoDbFactory() throws Exception {
        return new SimpleMongoDbFactory(mongo, dbName);
    }
    @Bean
    protected MongoTemplate defaultMongoTemplate() throws Exception {
        return new MongoTemplate(defaultMongoDbFactory());
    }
    @Override
    protected String getDatabaseName() {
        return dbName;
    }
    @Override
    public Mongo mongo() throws Exception {
        return mongo;
    }
    @Override
    protected String getMappingBasePackage() {
        return "foo.bar.repository";
    }
    @Override
    public MongoTemplate mongoTemplate() throws Exception {
        return defaultMongoTemplate();
    }
}
我有一个带有自定义实现的存储库:
Interface:MyRepository(扩展自定义接口)
CustomInterface:MyRepositoryCustom 
Implementation:MyRepositoryImpl
我有另一个配置扫描注释的配置文件:
@Configuration
@ComponentScan(basePackages = {"foo.bar"})
@Import(DefaultMongoDbFactoryConfig.class)
public class AppConfig {
}
现在spring似乎并没有在启动时自动启动自定义实现.我得到"没有类型的合格豆".这在java配置中是不受支持还是我遗漏了什么?
编辑:我使用的是spring数据mongo 1.3.1和spring 3.2.4
包含在哪个包中DefaultMongoDbFactoryConfig?如果您没有在@EnableMongoRepositories注释中显式声明包,我们只扫描带注释的配置类的包.如果它已经存在foo.bar.config并且您的foo.bar.repositories存储库中没有存储库接口将被找到.
| 归档时间: | 
 | 
| 查看次数: | 3274 次 | 
| 最近记录: |