2、读取配置文件
2.1 读取核心配置文件
核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单。
核心配置文件application.properties内容如下: server.port=9090 test.msg=Hello World Springboot! |
2.1.1使用@Value方式(常用):
@RestController public class WebController {
@Value("${test.msg}") private String msg;
@RequestMapping(value = "index", method = RequestMethod.GET) public String index() { return "The Way 1 : " +msg; } } |
2.1.2使用Environment方式
@RestController public class WebController {
@Autowired private Environment env;
@RequestMapping(value = "index2", method = RequestMethod.GET) public String index2() {
return "The Way 2 : " + env.getProperty("test.msg"); } } |
2.1.3 让springboot转换为java类
@Component @ConfigurationProperties(prefix="people") public class People { private String name; private Integer age; private List<String> address; private Phone phone; public String getName() { return name; } |
public class Rest {
@Autowired private People me;
@RequestMapping("/bbb") public String hello() { return " good " + me.getName() + me.getAge() + me.getAddress() + me.getPhone().getNumber(); } } |
2.2 读取自定义配置文件
为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,这里在resources/config目录下创建配置文件my-web.properties
@ConfigurationProperties(locations = "classpath:config/my-web.properties", prefix = "web") @Component public class MyWebConfig { private String name; private String version; private String author; public String getAuthor() { return author; } |
2.3 读取环境变量
微服务开发时,一些配置信息(比如数据库用户名,密码)从配置文件中读取,但在paas中,需要从docker的环境变量中读取。
server: port: 9090 people:
# name: "hhh" # name: ${COMPUTERNAME} name: ${M2_HOME:abc} #首先取环境变量,如果环境变量中没有,就取abc这个固定值 age: 38 address: - 111 - 222 phone: number: 13026613740 |