配置mongodb的依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> </dependencies>配置MongoDb的配置类
@Configuration //指定 包com.zll.mongodb.main下默认 注入 MainMongo @EnableMongoRepositories(basePackages = "com.xiaodu.domain", mongoTemplateRef = "mainMongo") public class MainMongoTemplate { //注入 名称为 mainMongoProperties 的 MongoProperties 对象 @Resource(name = "mainMongoProperties") private MongoProperties mongoProperties; @Primary //设置默认值 当使用 @Autowired 等自动注入时,没有指定name 时 默认使用 带@Primary 注解的对象。 @Bean(name = "mainMongo") //创建方法 交给 spring 创建的名称 为 mainMongo public MongoTemplate mainMongoTemplate() throws Exception { return new MongoTemplate(mainFactory(this.mongoProperties)); } @Bean @Primary public MongoDbFactory mainFactory(MongoProperties mongoProperties) throws Exception { //如果你的 配置文件中 使用的是 uri 这里就配置 uri 网上很多这里配置错了,导致无法正常运行。 return new SimpleMongoDbFactory(new MongoClientURI(mongoProperties.getUri())); } } @Configuration public class MongoDbConfig { // @Bean(name="readMongoProperties") // @ConfigurationProperties(prefix="spring.data.mongodb.read") // public MongoProperties readMongoProperties() { // return new MongoProperties(); // } @Bean(name="mainMongoProperties") @Primary @ConfigurationProperties(prefix="spring.data.mongodb.main") public MongoProperties mainMongoProperties() { return new MongoProperties(); } } server: port: 5011 spring: application: name: demo data: mongodb: main: uri: mongodb://用户名:密码@url:端口/数据库