SpringBoot如何从配置文件中读取配置参数
前言
在生产环境中,经常会用到各种各样的参数,为了避免代码太过死板,一般将参数写入配置文件,然后需要用到参数的时候从配置文件中读取
下面总结出几种从配置文件中读取配置参数的方法。
环境搭建
现有配置文件application.properties,内容如下所示
# 接口请求基础路径 base.param.url = http://192.168.1.110:18081/interaction/v1/ # 平台标识 base.param.platformID = 123456789 # 平台密钥 base.param.platformSecret = AaBbCcDd
下面实现从配置文件中读取配置参数
@Value注解读取配置参数
1、非静态参数
一般情况下直接使用@Value注解即可获取到参数,然后就可以在方法中使用该参数,比如在控制层中使用
使用方法如下:
@Value("${base.param.url}") private String baseUrl; @Value("${base.param.platformID}") private String platformID; @Value("${base.param.platformSecret}") private String platformSecret;
2、静态参数
当工具类中的方法需要从配置文件读取参数时,需要将参数定义为静态,才可以在静态方法中获取到,这时候就不能只配置个@Value注解就行了
实现方法如下:
@Component public class Common { private static String platformID; @Value("${base.param.platformID}") public void setPlatformID(String platformID) { Common.platformID = platformID; } }
将@Value注解在set方法上,并且类上要加@Component注解。
@PropertySource注解创建配置类
目前该注解只支持properties文件引入,并不支持yml。
1、maven依赖
<!--使用xml或properties配置所依赖的包 @PropertySource--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
2、创建配置类
import lombok.Data; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.PropertySource; @Data @SpringBootConfiguration @PropertySource(value = {"classpath:application.properties"}) @ConfigurationProperties(prefix = "base.param") public class ParamProperties { // 接口请求基础路径 private String url; // 平台标识 private String platformID; // 平台密钥 private String platformSecret; }
其中:
- classpath指向对应的配置文件名称
- prefix指向配置文件中的名称
3、使用方式
public class ResponseTask { @Autowired private ParamProperties paramProperties; private String getToken(){ TokenEntity tokenEntity = new TokenEntity(); tokenEntity.setPlatformID(paramProperties.getPlatformID()); tokenEntity.setPlatformSecret(paramProperties.getPlatformSecret()); } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- SpringBoot使用Jasypt对配置文件和数据库密码加密
- springboot中非容器类如何获取配置文件数据
- 详解SpringBoot依赖注入和使用配置文件
- SpringBoot中的配置文件加载优先级详解
- Springboot如何实现对配置文件中的明文密码加密
- SpringBoot中的YAML配置文件和日志详解
- SpringBoot实现配置文件加密的方案分享
- SpringBoot绑定配置文件中变量的四种方式总结
- SpringBoot读取多环境配置文件的几种方式
- SpringBoot中获取配置文件的注解详解
- Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)
相关文章
原理分析SonarQube中IdentityProvider账户互斥现象
这篇文章主要为大家介绍分析SonarQube中IdentityProvider账户互斥现象原理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-02-02Java使用RedisTemplate操作Redis遇到的坑
这篇文章主要介绍了Java使用RedisTemplate操作Redis遇到的坑,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
最新评论