springboot + profile(不同环境读取不同配置)

时间:2025-03-23 15:56:03
在中指定使用哪一个文件

1、(dev环境下的配置)
 profile = dev_envrimont
2、(prod环境下的配置)
1 profile = prod_envrimont

3、

1 =mongodb://192.168.22.110:27017/myfirstMongodb
2 
3 #
4 =dev

4、Controller
   @Autowired
2     private Environment env;
3         
4     @RequestMapping("/testProfile")
5     public String testProfile(){
6         return ("profile");
7     }

测试

  • 上述代码执行后的结果是:dev_envrimont和mongodb://192.168.22.110:27017/myfirstMongodb
  • 如果的配置改为:=prod,则结果是:prod_envrimont
  • 如果的配置改为:=prod,而中也配置了profile=xxx(不管该配置配置在=prod的上方还是下方),这个时候结果是:prod_envrimont
  • 如果的配置改为:=prod,而中也配置了profile=xxx(不管该配置配置在=prod的上方还是下方),但是删掉了profile = prod_envrimont,这个时候结果是:xxx

结论:

  • 各个环境公共的配置写在中
  • 各个模块独有的配置配置在自己的application-{xxx}.properties文件中
  • 程序读取的时候优先读取中选中的profile的配置,若读不到才会从去读