SpringBoot允许你使用外部配置的方式,因此你可以在不同的环境下使用相同的代码。外部配置文件的样式也是多种多样的。包括properties文件,yaml文件,环境变量,命令行参数。
配置的属性值可以通过@Value 的方式注入,也可以使用Spring的Environment,或者通过在类上加@ConfigurationProperties 
        不同配置方式的优先级,后者覆盖前者:
1.默认配置 : SpringAppliction.setDefaultProperties
2.@propertySource 注解 (这个是特别晚的,当refresh时才)
@Configuration@PropertySource("classpath:/com/myco/app.properties")public class AppConfig {@AutowiredEnvironment env;@Beanpublic TestBean testBean() {TestBean testBean = new TestBean();testBean.setName(env.getProperty("testbean.name"));return testBean;}}
3.application.properties
4.RondomValuePropertySouce (没听过)
5.OS 环境变量
6.System.properties
7.JNDI
8.ServletContext  初始化参数
9.Servlet Config
- SPRING_APPLICATION_JSON
 - 命令参数
 - 测试中的properties
 - @TestPropertySource
 - 开发工具全局设置属性
 
Config-Data (appliction.xxx.yml)的一个加在顺序:
1.首先jar包内 application.proxx/yml
2.application-{profile}.properties
3.jar包外的application.proxx/yml
4.jar包外的application-{profile}.properties
同时出现了yml 和properties 先 properties 后 yml
1.使用命令行参数
使用 —server.port =9999
也可以关闭命令行参数
2.Json
在你的工程下放一个 spring.application.json 文件 或者 使用 key-value key=SPRING_APPLICATION_JSON
3.外部文件
SpringBoot默认的是去加载 application.properties和 xx.yml文件,默认寻找的路径:
1.classpath
2.classpath 的 config目录
3.当前目录
4.当前目录的config目录
5.直接孩子的config子目录
可以使用   —spring.config.name=xxxx的方式修改使用配置文件名 xxx.yml
3.1特定文件
application-{profile}.yml
在yml中可以${}.
