package com.bjsdzk.collector.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
import com.mongodb.MongoClientURI;
@Configuration
public class MongoConfig {
@Autowired
private Environment env;
@Value("${spring.data.mongodb.uri}")
private String MONGO_URI;
@Primary
@Bean(name="mongoTemplate")
public MongoTemplate getMongoTemplate(MongoClientOptions mongoOptions) {
MongoClientURI mongoClientURI = new MongoClientURI(MONGO_URI,MongoClientOptions.builder(mongoOptions));
return new MongoTemplate(new SimpleMongoDbFactory(mongoClientURI));
}
@Bean(name="secondMongoTemplate")
public MongoTemplate getMongoTemplate2() {
MongoClientURI mongoClientURI = new MongoClientURI(env.getProperty("spring.data.mongodb.secondary.uri"));
return new MongoTemplate(new SimpleMongoDbFactory(mongoClientURI));
}
}
@Resource(name="secondMongoTemplate")
private MongoTemplate secondMongoTemplate;
@Autowired
private MongoTemplate mongoTemplate;
spring.data.mongodb.secondary.uri=************
spring.data.mongodb.uri=mongodb://192.168.1.154:27017/sdzk-data
@Autowired如果类型找不到会按名字找,第二个只能用@Resource注解了