办法有很多:
1.注解:
@Profiles()+@ActiveProfiles()
@profile注解是spring提供的一个用来标明当前运行环境的注解,@ActiveProfiles用来表示使用哪种环境。当修改@ActiveProfile中的值时,所调用的内容也会随之改变。
2.多环境配置:
通过application.properties里spring.profiles.active=dev,pro,qa取值不同来使用不同配置文件
application-dev.properties,application-pro.properties,application-qa.properties
3.通过命令行设置属性值:
java -jar xxx.jar --server.port=8888,通过使用—server.port属性来设置xxx.jar应用的端口为8888。
在命令行运行时,连续的两个减号--就是对application.properties中的属性值进行赋值的标识。所以,java -jar xxx.jar --server.port=8888命令,等价于我们在application.properties中添加属性server.port=8888,该设置在样例工程中可见,读者可通过删除该值或使用命令行来设置该值来验证。
通过命令行来修改属性值固然提供了不错的便利性,但是通过命令行就能更改应用运行的参数,那岂不是很不安全?是的,所以Spring Boot也贴心的提供了屏蔽命令行访问属性的设置,只需要这句设置就能屏蔽:SpringApplication.setAddCommandLineProperties(false)。