1

リポジトリで Spring Data Mongo を使用しています。私の xml-configuration では、すべて正常に動作します。ここで、xml-configuration の代わりに Java 構成を使用したいと考えています。これは、リポジトリの Java 構成です。

@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();
    }


}

カスタム実装のリポジトリがあります:
インターフェイス: MyRepository (カスタム インターフェイスを拡張)
CustomInterface: MyRepositoryCustom
実装: MyRepositoryImpl

component-scan アノテーションを含む別の構成ファイルがあります。

@Configuration
@ComponentScan(basePackages = {"foo.bar"})
@Import(DefaultMongoDbFactoryConfig.class)
public class AppConfig {

}

現在、Spring は起動時にカスタム実装を自動配線していないようです。「適格な Bean のタイプがありません」というメッセージが表示されます。これはJava構成でサポートされていませんか、それとも何か不足していますか?

編集:私は春のデータモンゴ1.3.1と春の3.2.4を使用しています

4

1 に答える 1