當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
SpringBoot2.1.9 多MongoDB配置
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot2.1.9 多MongoDB配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、配置文件
pom.xml
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>application.yml
spring:application:name: double-mongoprofiles:active: devjackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8server:port: 8008sys:mongodb:one:uri: mongodb://user01:admin123@192.168.1.2:10135,192.168.1.3:10135/mongo01two:uri: mongodb://user02:admin123@192.168.1.2:10135,192.168.1.3:10135/mongo02二、配置Configuration Bean
(1)第一個mongodb配置(主)
public class OneMongoConfig {private MongoClient mongo;@Primary//必須設置默認的mongo模板,默認名字必須為mongoTemplate@Bean("mongoTemplate")public MongoTemplate oneMongoTemplate(@Autowired @Qualifier("oneMongoDbFactory")MongoDbFactory mongoDbFactory, MongoConverter converter) {return new MongoTemplate(mongoDbFactory, converter);}@Primary//必須設置默認的mongo工廠@Beanpublic MongoDbFactory oneMongoDbFactory(@Autowired @Qualifier("oneMongoProperties")MongoProperties properties,Environment environment, ObjectProvider<MongoClientOptions> options) {MongoClientOptions _options = options.getIfAvailable();MongoClientFactory mongoClientFactory = new MongoClientFactory(properties, environment);this.mongo = mongoClientFactory.createMongoClient(_options);return new SimpleMongoDbFactory(this.mongo, properties.getMongoClientDatabase());}@PreDestroypublic void close() {if (this.mongo != null) {this.mongo.close();}}@Primary//必須設置默認的mongo配置@Bean@ConfigurationProperties(prefix = "sys.mongodb.one")public MongoProperties oneMongoProperties(){return new MongoProperties();}}(2)第二個mongo配置
public class TwoMongoConfig {private MongoClient mongo;@Beanpublic MongoTemplate twoMongoTemplate(@Autowired @Qualifier("twoMongoDbFactory")MongoDbFactory mongoDbFactory, MongoConverter converter) {return new MongoTemplate(mongoDbFactory, converter);}@Beanpublic MongoDbFactory twoMongoDbFactory(@Autowired @Qualifier("twoMongoProperties")MongoProperties properties,Environment environment, ObjectProvider<MongoClientOptions> options) {MongoClientOptions _options = options.getIfAvailable();MongoClientFactory mongoClientFactory = new MongoClientFactory(properties, environment);this.mongo = mongoClientFactory.createMongoClient(_options);return new SimpleMongoDbFactory(this.mongo, properties.getMongoClientDatabase());}@PreDestroypublic void close() {if (this.mongo != null) {this.mongo.close();}}@Bean@ConfigurationProperties(prefix = "sys.mongodb.two")public MongoProperties twoMongoProperties(){return new MongoProperties();}}(3)mongo導入配置
@Configuration @Import({OneMongoConfig.class, TwoMongoConfig.class}) public class MongoConfig {}注意:去掉默認自動配置?
@SpringBootApplication(exclude = {MongoAutoConfiguration.class}) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}?
總結
以上是生活随笔為你收集整理的SpringBoot2.1.9 多MongoDB配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试官让我讲讲Java中的锁,我笑了
- 下一篇: 顺拐是什么原因 顺拐原因是什么