项目开发中,手动去读取Properties,太过于麻烦,并且使用不方便。
Spring Boot 自带Properties文件读取。
Properties文件
masterDb.maxConnectionsPerHost=100
masterDb.connectTimeOut=60000
masterDb.threadsAllowedToBlockForConnectionMultiplier=50
masterDb.maxWaitTime=60000
masterDb.host=mongodbhost
masterDb.port=27017
masterDb.user=appHost
masterDb.pwd=abc123_
masterDb.authDb=admin
对应的java Bean
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
@Component
// 前缀
@ConfigurationProperties(prefix = "masterDb")
// 文件路径,可以使用${}表达式获取spring environment属性
@PropertySource("classpath:masterDb.properties")
public class MasterDbProperties {
private int maxConnectionsPerHost;
private int threadsAllowedToBlockForConnectionMultiplier;
private int maxWaitTime;
private int connectTimeout;
// getters and setters....
}
主类
@SpringBootApplication
// 不能使用 @EnableConfigurationProperties(MasterDbProperties.class)
// 会导致bean被初始化两次
@EnableConfigurationProperties
public class CoreApp {
public static void main(String [] args) {
SpringApplication.run(CoreApp.class, args);
}
}