저는 리포지토리가있는 Spring Data Mongo를 사용합니다. 내 XML 구성에서는 모든 것이 잘 동작한다. 이제 XML 구성 대신 Java 구성을 사용하고 싶습니다.
인터페이스 : 나는 정의 구현 저장소가자바 설정으로 구성된 커스텀 스프링 데이터 (mongo) 리포지토리의 자동 연결은 어떻게 작동합니까?
@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
이 저장소에 대한 내 자바 구성입니다 구성 요소 스캔 주석이있는 다른 구성 파일이 있습니다.
@Configuration
@ComponentScan(basePackages = {"foo.bar"})
@Import(DefaultMongoDbFactoryConfig.class)
public class AppConfig {
}
이제 스프링이 시작할 때 맞춤 구현을 자동 실행하는 것처럼 보이지 않습니다. 나는 "유형의 적격 콩"을 얻지 못합니다. 이것은 자바 설정에서 지원되지 않습니까? 아니면 뭔가 빠졌습니까?
편집 : 나는 어떤 패키지에서 DefaultMongoDbFactoryConfig
이있는 않습니다 스프링 데이터 몽고 1.3.1 봄 3.2.4
힌트를 보내 주셔서 감사합니다. 올리버. 주석에 basePackages 값을 추가했습니다. 이 작품! – osigge