-
1 知识讲解
-
2 案例2
Environment
Environment是一个通用的读取应用程序运行时的环境变量的类,可以通过key-value方式读取application.properties、命令行输入参数、系统属性、操作系统环境变量等。
例【4-1】使用Environment类读取application.properties配置文件的内容。
1.创建Spring Boot项目ch4_1
使用STS快速创建Spring Boot Web应用ch4_1,项目目录结构如图1所示。

2.添加配置文件内容
在src/main/resources目录下,找到全局配置文件application.properties,并添加如下内容:
test.msg=read config
3.创建控制器类EnvReaderConfigController
在src/main/java目录下,创建名为com.ch.ch4_1.controller的包(是com.ch.ch4_1包的子包,保障注解全部被扫描),并在该包下创建控制器类EnvReaderConfigController。在控制器类EnvReaderConfigController中,使用@Autowired注解依赖注入Environment类的对象
@RestController
publicclass EnvReaderConfigController{
@Autowired
private Environment env;
@RequestMapping("/testEnv")
public String testEnv() {
return "方法一:" +env.getProperty("test.msg") ;
//test.msg为配置文件application.properties中的key
}
}
4.启动Spring Boot应用
运行Ch41Application类的main方法,启动Spring Boot应用。
@Value注解
使用@Value注解读取配置文件内容示例代码如下:
@Value("${test.msg}")
//test.msg为配置文件application.properties中的key
private String msg;
//通过@Value注解将配置文件中key对应的value赋值给变量msg
@ConfigurationProperties注解
使用@ConfigurationProperties首先建立配置文件与对象的映射关系,然后在控制器方法中使用@Autowired注解将对象注入。


@PropertySource
我们可以使用@PropertySource注解找到项目的其他配置文件,然后结合一种方式读取即可。


