yml添加配置
spring:
profiles:
active: dev
#开发
---
spring:
profiles: dev
hello:
name: liu
#正式
---
spring:
profiles: prod
hello:
name: liuk
java读取代码
@Component
public class Global {
public static String name;
public static String getName() {
return name;
}
@Value("${hello.name}")
public void setName(String name) {
Global.name= name;
}
}
@Value不能给静态变量直接赋值问题 1. 平时用的时候,直接在变量头上加上@Value就能到值(其中path.url是配置文件properties的。)。 @Value("${path.url}") private String url; 2. 但是当url被static修饰之后,就赋不了值。 @Value("${path.url}") private static String url; 这里是因为Spring Boot 不允许/不支持把值注入到静态变量中,但是也给出了解决的方案。 3.把@Value("${path.url}")放在静态变量的set方法上面即可,需要注意的是set方法要去掉static,有些朋友习惯性的快捷键生成set方法而没有去掉static,导致还是赋值失败。还有就是当前类要交给spring来管理。
private static String url;
// 记得去掉static
@Value("${mysql.url}")
public void setDriver(String url) {
JdbcUtils.url= url;
}