SpringBoot之如何正确获取配置文件中的值?

简介: SpringBoot之如何正确获取配置文件中的值?

写在前面


SpringBoot是当前的主流框架技术,很受开发者的喜爱,原因就是其使用起来比起SSM、SSH之类的框架要方便,无需再配置web.xml、springmvc-config.xml、mybatis-config.xml等等的配置文件,又加上SpringBoot提供了内置的一些默认配置,这就能使得开发者更能专注于业务上的实现。


今天我们要来说的知识点呢,就是如何获取配置文件的属性值。


配置文件


先来看一下我们要获取的配置文件内容。

user:
  name: moshisan
  age: 25

实现过程


@Value注解是Spring的beans包中提供的一个注解,其功能就是读取已经被系统加载过了的配置属性值。


这里的已经被系统加载过的配置只限于application.properties、application.yml文件中的配置属性。


@Value用法


@Value("${user.name}"),此注解用来修饰类的变量名称,其当前类也需要被@Component、@Controller、@Service注解修饰方才可以注入属性成功。


所以,我们就可以通过@Value注解来获取配置属性值。


如下代码:


@Service
public class TestServiceImpl {
    @Value("${user.name}")
    private String name;
    @Value("${user.age}")
    private Integer age;
}


这样既可在使用TestServiceImpl类时正确的获得user-name、user-age的属性值了。


其他方式


我们也可以自行封装一个特定的工具类进行属性值的获取,在程序中去读取想要获取属性的配置文件,再将所有的配置属性放入集合中,随后从集合中一一获取即可,实现起来并不复杂,却更能适应各种业务环境。


相关文章
|
存储 JSON API
SpringBoot3集成ElasticSearch
SpringBoot3集成ElasticSearchElasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,适用于各种数据类型,数字、文本、地理位置、结构化数据、非结构化数据;
1805 0
|
NoSQL IDE 网络协议
Redis高级客户端Lettuce详解(下)
Lettuce是一个Redis的Java驱动包,初识她的时候是使用RedisTemplate的时候遇到点问题Debug到底层的一些源码,发现spring-data-redis的驱动包在某个版本之后替换为Lettuce。既然能被Spring生态所认可,Lettuce想必有过人之处,于是笔者花时间阅读她的官方文档,整理测试示例,写下这篇文章。
6036 0
|
消息中间件 安全 Kafka
Kafka启动后需要开放什么端口?
Kafka启动后需要开放什么端口?
4726 7
|
Java 微服务 Spring
Spring Boot中获取配置参数的几种方法
Spring Boot中获取配置参数的几种方法
1584 2
|
存储 前端开发 Java
如何使用 Spring 上传文件:全面指南
如何使用 Spring 上传文件:全面指南
1399 1
|
JSON 安全 算法
Spring Boot 应用如何实现 JWT 认证?
Spring Boot 应用如何实现 JWT 认证?
1434 8
|
存储 安全 Java
Spring Boot读取配置文件
Spring Boot读取配置文件
|
Java Spring 容器
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
SpringBoot读取配置文件的6种方式,包括:通过Environment、@PropertySource、@ConfigurationProperties、@Value读取配置信息
3024 3
|
Java 测试技术 Spring
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
这篇文章介绍了Spring Boot中配置文件的语法、如何读取配置文件以及如何通过静态工具类读取配置文件。
1327 0
springboot学习三:Spring Boot 配置文件语法、静态工具类读取配置文件、静态工具类读取配置文件
|
Java 数据库 Spring
java读取配置文件数据
java读取配置文件数据
516 0