В общем решил вынести такие штуки как конфигурацию базы данных в отдельный модуль (modul1)
Выглядит она приблизительно так:
package com.myproj.additional.common.configuration.database;
import com.mongodb.MongoClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;
import java.util.ArrayList;
import java.util.Collection;
@Configuration
@PropertySource("classpath:properties/base/mongodb.properties")
@EnableMongoRepositories
public class MongoConfiguration extends AbstractMongoConfiguration {
@Value("${mongodb.url}")
private String mongoUrl;
@Value("${mongo.database}")
private String mongoDatabase;
@Value("${base.packages}")
private String basePakages;
@Override
public MongoClient mongoClient() {
return new MongoClient("localhost");
}
@Override
public String getDatabaseName() {
return "myproj";
}
@Override
public Collection<String> getMappingBasePackages() {
return new ArrayList<String>() {{
// TODO
add("com.myproj.additional");
}};
}
}
Эта конфигурация импортируется modul2. В свою очередь modul2 содержит приблизительно такой репозиторий:
package com.myproj.additional.analyzer.repository.mongo;
import com.myproj.additional.analyzer.model.mongo.Url;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository("urlRepository")
public interface UrlRepository extends CrudRepository<Url, Long> {
}
Импортируемая конфигурация из modul1 не видит репозиторий из modul2.
Подскажите как бы вынести бы javaconf бд в отдельный модуль и при этом чтобы он видел репозитории модулей которые его импортируют?