Spring Boot @ConfigurationProperties 教程展示了如何在 Spring Boot 应用中使用@ConfigurationProperties 将属性绑定到对象。
Spring 是流行的 Java 应用框架,而 Spring Boot 是 Spring 的演进,可以帮助轻松地创建独立的,生产级的基于 Spring 的应用。
@ConfigurationProperties
@ConfigurationProperties
允许轻松地将整个 Properties 和 Yaml 文件映射到一个对象。 它还允许使用 JSR-303 bean 验证来验证属性。 默认情况下,注解从application.properties
文件中读取。 可以使用@PropertySource
注解来更改源文件。
Spring Boot @ConfigurationProperties
示例
以下应用从application.properties
文件读取配置数据,该文件是默认的 Spring Boot 配置文件。
这是项目结构。
pom.xml
这是 Maven pom.xml
文件。
resources/application.properties
在application.properties
文件中,我们具有三个自定义属性。 它们具有app
前缀。
com/zetcode/conf/AppProperties.java
这些属性将绑定到此配置对象。
@Configuration
注解使它成为 Spring 管理的 bean。 在@ConfigurationProperties
中,我们为属性设置前缀。
com/zetcode/MyRunner.java
在MyRunner
中,我们将AppProperties
注入字段中并读取其值。
com/zetcode/Application.java
Application
是设置 Spring Boot 应用的入口。
Spring Boot @ConfigurationProperties
示例 II
在第二个应用中,我们还将验证属性。
这是项目结构。
pom.xml
这是pom.xml
文件。 我们还有一个hibernate-validator
依赖项。
resources/application.properties
这是application.properties
文件。
resources/mail.properties
我们有一个自定义的mail.properties
文件。
com/zetcode/config/MailProperties.java
我们使用@PropertySource
注解设置自定义属性文件的路径。 @Validated
注解验证属性。
com/zetcode/MyRunner.java
我们注入MailProperties
并以run()
方法读取它们。
com/zetcode/Application.java
这是Application
类。
我们使用mvn -q spring-boot:run
运行该应用。
在本教程中,我们展示了如何使用@ConfigurationProperties
从外部文件读取配置属性。