我正在尝试通过application-{environment-name}.properties
配置mongodb属性以连接到mongodb。
这是我与mongo建立连接的代码:
@Configuration
@EnableAutoConfiguration
public class SpringMongoConfig {
@Value("${db.connectionURL}")
private String databaseURL;
@Value("${db.name}")
private String databaseName;
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
System.out.println("database url: " + databaseURL + " db name: " + databaseName);
return new SimpleMongoDbFactory(new MongoClient(databaseURL), databaseName);
}
@Bean
public MongoTemplate mongoTemplate() throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
return mongoTemplate;
}
}
这是我的application-test.properties
文件:
db.connectionURL=localhost
db.name=rahab
我为databaseURL
和databaseName
获取了空值。我的想法是在bean创建过程中仍然无法使用这些值。但我没有任何想法实现这一点。
答案 0 :(得分:0)
您可以在配置中使用PropertySource来指定创建的属性文件的位置。示例代码如下:
@Configuration
@EnableAutoConfiguration
@PropertySource("application-test.properties")
public class SpringMongoConfig {
@Value("${db.connectionURL}")
private String databaseURL;
@Value("${db.name}")
private String databaseName;
@Bean
public MongoDbFactory mongoDbFactory() throws Exception {
System.out.println("database url: " + databaseURL + " db name: " + databaseName);
return new SimpleMongoDbFactory(new MongoClient(databaseURL), databaseName);
}
@Bean
public MongoTemplate mongoTemplate() throws Exception {
MongoTemplate mongoTemplate = new MongoTemplate(mongoDbFactory());
return mongoTemplate;
}
}
希望它有助于解决您的问题。