SpringBoot-读取配置文件(映射法)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 本文是关于Spring Boot框架下读取配置文件的指南。该指南介绍了如何通过注解和属性文件来加载和访问应用程序的配置信息。Spring Boot提供了简单而强大的功能,可以轻松地加载各种类型的配置文件,并将其映射到Java对象中。通过使用@ConfigurationProperties注解,或者使用@Value注解从配置文件中读取属性值。

本文是关于Spring Boot框架下读取配置文件的指南。该指南介绍了如何通过注解和属性文件来加载和访问应用程序的配置信息。Spring Boot提供了简单而强大的功能,可以轻松地加载各种类型的配置文件,并将其映射到Java对象中。通过使用@ConfigurationProperties注解,或者使用@Value注解从配置文件中读取属性值。


一、配置springboot配置注解处理器

1、在pom.xml文件中添加依赖,并点击maven刷新的按钮。

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>

2、maven模块里重新编译


二、编写配置信息

我的配置信息如下:

application.yml

spring:  profiles:    active: dev
  thymeleaf:    view-names: /*
    cache: false    prefix: /WEB-INF/html

application-dev.yml

server:  port: 8080spring:  datasource:#替换成MySQL账户    username: root
#替换成MySQL密码    password: root
#替换成数据库名    url: jdbc:mysql://localhost:3306/db_monitor?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.jdbc.Driver
  application:## 注册服务名    name: MonitorSystem
mybatis:  mapper-locations: classpath:mappers/*Mapper.xml
  type-aliases-package: com.entity
logging:  level:    com:      example:        mapper: debug

三、使用注解读取配置

使用注解读取配置有两种方法,两种方法都是通过在实体类中通过配置注解,完成配置文件的字段和实体类属性的绑定。

①使用@ConfigurationProperties注解

创建实体类DatabaseConfig。

DatabaseConfig的属性和想要获取的配置属性一一对应;

@ConfigurationProperties(prefix = “spring.datasource”)注解写在类名前,其中spring.datasource是yml文件里所需属性的位置;

DatabaseConfig.java

packagecom.entity;
importlombok.Getter;
importlombok.Setter;
importorg.springframework.boot.context.properties.ConfigurationProperties;
importorg.springframework.stereotype.Component;
@Getter@Setter@Component@ConfigurationProperties(prefix="spring.datasource")
publicclassDatabaseConfig {
privateStringurl;
privateStringusername;
privateStringpassword;
}

②使用@Value注解

创建实体类DatabaseConfigTest

DatabaseConfigTest的属性和想要获取的配置属性一一对应;

@Value(“${spring.datasource.username}”)注解写在每个属性前,其中spring.datasource.username是实体类属性对应的yml文件里的属性;

packagecom.entity;
importlombok.Getter;
importlombok.Setter;
importorg.springframework.beans.factory.annotation.Value;
importorg.springframework.stereotype.Component;
@Getter@Setter@ComponentpublicclassDatabaseConfigTest {
@Value("${spring.datasource.url}")
privateStringurl;
@Value("${spring.datasource.username}")
privateStringusername;
@Value("${spring.datasource.password}")
privateStringpassword;
}

四、测试注解配置是否生效

我们编写测试代码,运行测试。

@TestvoidtestConfigActive() {
Stringurl=databaseConfig.getUrl();
Stringusername=databaseConfig.getUsername();
Stringpassword=databaseConfig.getPassword();
System.out.println("url: "+url);
System.out.println("username: "+username);
System.out.println("password: "+password);
url=databaseConfigTest.getUrl();
username=databaseConfigTest.getUsername();
password=databaseConfigTest.getPassword();
System.out.println("url: "+url);
System.out.println("username: "+username);
System.out.println("password: "+password);
 }

右键运行。

我们看到控制台输出的测试结果,两个方法都可以获得到配置文件里参数的值。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5月前
|
Java 网络安全 开发者
SpringBoot之如何正确获取配置文件中的值?
SpringBoot之如何正确获取配置文件中的值?
64 0
|
9月前
|
Java 数据格式 容器
如何读懂 SpringBoot 配置文件
如何读懂 SpringBoot 配置文件
63 0
|
5月前
|
前端开发 Java 微服务
SpringBoot中的配置文件加载顺序
SpringBoot中的配置文件加载顺序
47 0
|
5月前
|
XML 前端开发 Java
SpringBoot - SpringMVC的默认配置与修改
SpringBoot - SpringMVC的默认配置与修改
57 0
|
7月前
|
Java Spring 容器
05 SpringBoot配置文件值注入
05 SpringBoot配置文件值注入
43 0
|
9月前
|
Java Spring 容器
Springboot配置文件值注入
Springboot配置文件值注入
71 0
|
11月前
|
Java
springboot启动时读取配置文件并赋值
springboot启动时读取配置文件并赋值
160 0
|
XML JSON 搜索推荐
SpringBoot的配置【配置文件、加载顺序、配置原理】(超详细)上
SpringBoot的配置【配置文件、加载顺序、配置原理】(超详细)
SpringBoot的配置【配置文件、加载顺序、配置原理】(超详细)上
|
存储 SQL 缓存
最新,springboot配置文件的所有属性,小明头很大
最新,springboot配置文件的所有属性,小明头很大
246 0
|
存储 Java
SpringBoot项目读取配置文件信息
当我们项目比较大配置信息比较多的时,如果所有的配置信息都放在一个配置文件中,就会显得比较臃肿且不易理解和维护。
SpringBoot项目读取配置文件信息