学习于:
Spring Boot 多环境如何配置 - fishpro - 博客园 (cnblogs.com)
首先创建一个springboot项目,在这里我遇到了https://start.spring.io/打不开的问题,于是修改为了阿里的连接https://start.aliyun.com/,可以创建
创建后有两种格式的,一种是application.properties的形式(再你创建项目的reources里),在这里面输入你的
server.port=30999 以及spring.profiles.active=${env}
然后再相同目录下创建application-dev.properties以及application-test.properties的的文件
在这两个里面随便输入一个数据即可
与
。
设置好后创建两个java文件,
@RestController public class s_2 { @Autowired public s_3 s_33; @GetMapping("/s_") public String aaa(){ System.out.println(s_33.ab()); return "aaaa"; } }
与
@Component public class s_3 { @Value( "${a}" ) private String a; public String ab(){ System.out.println("a="+a); return a; } }
在运行的那里有一个edit
点击进入后输入你想使用的配置文件,我这里使用的是test文件。
在浏览器端口里去相应的路径:
这个时候控制台会打印出:
而当你的配置文件改为dev时:
代码中的a就会变成配置文件中的a的数值
还有另外一种:.yml文件形式的:
将配置文件的后缀改为.yml,内容修改为下面部分
创建两个java文件:
/@Controller public class controller { private final Logger logger = LoggerFactory.getLogger( this.getClass()); @Autowired s_1 multienvConfig; @GetMapping ("/hello") public String index(){ logger.info(multienvConfig.getDemoname()); return "index"; } }
与
@Component @ConfigurationProperties(prefix="springstudy") public class s_1 { private String demoname; public String getDemoname(){ return demoname; } public void setDemoname(String demoname){ this.demoname=demoname; } }
运行,去浏览器中相应的路径
这时候控制台会打印出:
而当我的配置文件修改为test时,控制台会打印出: