简单记录…
- pom.xml文件引用Configuration Processor依赖
<!--读取yml或properties配置文件的数据-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
- 新建wechat.properties配置文件(.yml也可)以下是文件存放路径(位置随便放)
3. 新建配置类文件 WechatConfig 以下为路径
4. wechatConfig配置文件
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;
/**
* @author
* @date 2022/01/2022/1/18-14:36
* @Description :
*/
@ConfigurationProperties(prefix = "wechat")
@PropertySource(value = {"classpath:config/wechat.properties"},
ignoreResourceNotFound = false, encoding = "UTF-8", name = "wechat.properties")
@Component
@Data
public class WechatConfig {
private String name;
private Integer age;
}
@ConfigurationProperties(prefix = “wechat”) 为配置参数,适合配置参数过多时使用,但有个缺点为,添加此参数后,配置文件只能获取 参数名wechat下的数据。
@PropertySource 中的属性解释
1.value:指明加载配置文件的路径。
2.ignoreResourceNotFound:指定的配置文件不存在是否报错,默认是false。当设置为 true 时,若该文件不存在,程序不会报错。实际项目开发中,最好设置 ignoreResourceNotFound 为 false。
3.encoding:指定读取属性文件所使用的编码,我们通常使用的是UTF-8。
@Component: 实例化为spring组件
@Data:省去手写get、set方法,此注解需要引入lombok依赖,不引用可手写get\set方法,引入如下:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
<scope>provided</scope>
</dependency>
5.测试获取配置文件
controller自动装配,添加@EnableConfigurationProperties()注解,开启配置文件
@Autowired
WechatConfig wechatConfig;
访问接口接口 wechatConfig.getName();接口获取配置文件数据
/**
*
* @return
*/
@RequestMapping(“”)
@ResponseBody
public String hellologin(){
String name = wechatConfig.getName();
return “欢迎访问Test接口!”;
}