Skip to content

读取yml配置

Environment读取

Environment是spring框架用于获取环境信息的,如系统属性、环境变量、命令行参数、配置文件中定义的属性等等。

java
@Service
public class Test {
 
    @Autowired
    private Environment environment;
    
    public void test() {
	    //对应在yml文件中的配置:
	    //wechat: 
	    //    appId: xxxxxxxxxxxxx
        String var1 = environment.getProperty("wechat.appId");
        System.out.println("Environment读取配置:" + var1);
    }
    
}

@Value读取

适合简单场景下使用,如只读取少量或独立的配置时使用。

java
//直接注入即可,但注意注入的类也得受spring管理
@Value("${wechat.appId}")
private String appId;

@Value设置默认值

java
@Value("${wechat.appId:xxxxxxxx}")
private String appId;

@ConfigurationProperties读取

适合与实体类映射时使用,可以一次读取多个配置。

java
@Data
@Configuration
@ConfigurationProperties(prefix = "wechat")
public class WechatConfig {
	//注意名字与配置一致
    private String appId;
    //注意名字与配置一致
    private String appSecret;
}

//对应在yml文件中的配置:
//wechat: 
//    appId: xxxxxxxx
//    appSecret: xxxxxxxx