SpringAppication会默认将命令行选项参数转换为配置信息
- 例:启动时命令参数的指定
 
java -jar project.jar --server.port = 9090
- 从命令行指定的配置项的优先级最高,不过你可以通过setAddCommandLineProperties来禁用它
 
SpringApplication.setAddCommandLineProperties(false);
外部配置文件
 Spring程序会按优先级从下面这些路劲来加载application.properties的配置文件
- 当前目录下的/config目录
 - 当前目录
 - classpath里的/config目录
 - calsspath根目录
::: hljs-left
因此,要外置配置文件就很简单了,在jar所在目录新建config文件夹,然后放入配置文件,或者直接放在配置文件在jar目录
::: 
自定义配置文件
 不想使用application.properties最为配置文件,可以通过下面方式指定加载的配置文件
java -jar project.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
或者
java -jar -Dspring.config.location=C:\Users\77375\Desktop\www\test.yml project.jar
代码中指定
@SpringBootApplication
@PropertySource(value={"file:config.properties"})
public class SpringbootrestdemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringbootrestdemoApplication.class, args);
    }
}
按Profile不同环境读取不同配置文件
 首先,按不同的环境设置一个配置文件,例如:
 dev环境 => application-dev.yml
 prod环境 => application-prod.tml
然后在application.properties中指定用哪一个配置文件
spring.profiles.active = dev
也可在启动的时候用命令指定:
java -ar project.jar --spring.profiles.active = prod
相关文章
暂无评论...
