电光石火-穿越时空电光石火-穿越时空


spring.profiles.active分区配置

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;
}

本博客所有文章如无特别注明均为原创。作者:似水的流年
版权所有:《电光石火-穿越时空》 => spring.profiles.active分区配置
本文地址:http://www.ilkhome.cn/index.php/archives/422/
欢迎转载!复制或转载请以超链接形式注明,文章为 似水的流年 原创,并注明原文地址 spring.profiles.active分区配置,谢谢。

评论