Vui lòng làm theo các bước dưới đây để thiết lập nhiều nguồn dữ liệu mongodb.
-
Xác định các thuộc tính mongodb chính và phụ của bạn như bên dưới trong application.properties, vui lòng thay thế chúng bằng chi tiết db của bạn:
######Primary Mongo DB######################## spring.data.mongodb.host=localhost spring.data.mongodb.database=primary spring.data.mongodb.port=27017 spring.data.mongodb.password=******* spring.data.mongodb.username=******* ###########Secondary MongoDB##################### mongodb.host=localhost mongodb.port=27017 mongodb.database=secondary mongodb.username=****** mongodb.password=******
-
Bây giờ hãy thêm nhiều cấu hình Mongo Db ..
@Configuration public class MultipleMongoConfig { @Primary @Bean(name = "primary") @ConfigurationProperties(prefix = "spring.data.mongodb") public MongoProperties getPrimary() { return new MongoProperties(); } @Bean(name = "secondary") @ConfigurationProperties(prefix = "mongodb") public MongoProperties getSecondary() { return new MongoProperties(); } @Primary @Bean(name = "primaryMongoTemplate") public MongoTemplate primaryMongoTemplate() throws Exception { return new MongoTemplate(primaryFactory(getPrimary())); } @Bean(name = "secondaryMongoTemplate") public MongoTemplate secondaryMongoTemplate() throws Exception { return new MongoTemplate(secondaryFactory(getSecondary())); } @Bean @Primary public MongoDbFactory primaryFactory(final MongoProperties mongo) throws Exception { return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), mongo.getDatabase()); } @Bean public MongoDbFactory secondaryFactory(final MongoProperties mongo) throws Exception { return new SimpleMongoDbFactory(new MongoClient(mongo.getHost(), mongo.getPort()), mongo.getDatabase()); }
}
-
Bây giờ hãy bật
EnableMongoRepositories
đối với chính của bạn là phụ. vui lòng đảm bảo rằng bạn thay đổibasePackages = "com.example.springbootmultipledatasource.primary.repository"
gói kho lưu trữ của bạn ở đây@Configuration @EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.primary.repository", mongoTemplateRef = "primaryMongoTemplate") public class PrimaryMongoConfig { }
Mẫu Mongo phụ:Hãy đảm bảo rằng bạn thay đổi gói kho lưu trữ phụ của mình tại đây basePackages = "com.example.springbootmultipledatasource.secondary.repository
@Configuration
@EnableMongoRepositories(basePackages = "com.example.springbootmultipledatasource.secondary.repository",
mongoTemplateRef = "secondaryMongoTemplate")
public class SecondaryMongoConfig {
}
Giờ đây, bạn có thể tạo tài liệu, kho lưu trữ, dịch vụ, bộ điều khiển của mình và bạn đã sẵn sàng. Dưới đây là cấu trúc dự án của tôi mà bạn có thể tạo hoặc có các cấu trúc khác.