Spring-Boot配置文件读取:props与yml实战

2 下载量 117 浏览量 更新于2024-09-01 收藏 49KB PDF 举报
"本文主要探讨了在Spring Boot项目中如何读取props和yml配置文件的方法,通过实例展示了具体的步骤和代码实现。" 在Spring Boot框架中,管理应用程序的配置是一项重要的任务。Spring Boot提供了简单易用的方式,使得开发者能够方便地从props和yml配置文件中读取设置。下面我们将详细讨论这两种方式。 1. 读取properties配置文件 首先,我们需要在项目的类路径下创建一个`application.properties`文件。这个文件通常包含了应用的基本配置信息,例如数据库连接信息、服务器端口等。例如: ``` master.ds.driverClassName=com.mysql.jdbc.Driver master.ds.url=jdbc:mysql://localhost:3306/test master.ds.username=root master.ds.password=password ``` 为了从`application.properties`中读取这些属性,我们需要创建一个Java Bean类来绑定这些属性。这里我们创建一个名为`PropsConfig`的类: ```java @ConfigurationProperties(prefix = "master.ds") public class PropsConfig { private String driverClassName; private String url; private String username; private String password; // getters and setters } ``` `@ConfigurationProperties`注解告诉Spring Boot这个类是用来绑定`application.properties`中的属性,`prefix`参数指定了属性的前缀。 2. 读取yml配置文件 Spring Boot同样支持使用YAML格式的配置文件(`application.yml`),这种格式在结构上更清晰,易于阅读。例如: ```yaml master: ds: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/test username: root password: password ``` 对于YAML配置,我们也需要创建一个对应的Java Bean类`YmlConfig`: ```java @ConfigurationProperties(prefix = "master.ds") public class YmlConfig { private String driverClassName; private String url; private String username; private String password; // getters and setters } ``` 与props文件相同,`YmlConfig`类会绑定`application.yml`中的`master.ds`部分。 3. 启动类配置 在Spring Boot的启动类(通常命名为`Application`)中,使用`@EnableConfigurationProperties`注解启用配置属性绑定,将之前创建的`PropsConfig`和`YmlConfig`类引入: ```java @SpringBootApplication @EnableConfigurationProperties({PropsConfig.class, YmlConfig.class}) public class ReadApplication { public static void main(String[] args) { SpringApplication.run(ReadApplication.class, args); } } ``` 这样,当Spring Boot应用启动时,它会自动将`application.properties`或`application.yml`中的配置属性注入到相应的Java Bean中,开发者可以直接在代码中使用这些配置。 总结: - Spring Boot通过`@ConfigurationProperties`注解和`@EnableConfigurationProperties`注解简化了从props和yml配置文件中读取和使用配置的过程。 - `application.properties`和`application.yml`都可以用来存储应用的配置,开发者可以根据个人喜好选择其中一种。 - 配置文件中的属性可以通过指定的前缀(`prefix`)与Java Bean中的字段进行绑定,字段名应与属性名保持一致或通过`@JsonProperty`注解映射。 - 在启动类中启用配置属性绑定,使得配置文件中的属性可以在运行时被注入到Java Bean中,供代码使用。