@EnableConfigurationProperties({ ArticleSettings.class})
时间: 2024-06-04 08:04:49 浏览: 84
@EnableConfigurationProperties({ ArticleSettings.class }) 是Spring Boot中的一个注解,用于开启@ConfigurationProperties注解的自动配置。在Spring Boot应用中,我们可以使用@ConfigurationProperties将配置文件中的属性值映射到JavaBean中,并通过@Autowired注解将JavaBean注入到其他类中使用。但是,在使用@ConfigurationProperties之前,需要使用@EnableConfigurationProperties注解来开启自动配置。
在这里,@EnableConfigurationProperties({ ArticleSettings.class }) 的作用是开启对ArticleSettings类的@ConfigurationProperties注解的支持。这意味着,当我们在ArticleSettings类上使用@ConfigurationProperties注解时,它将自动被扫描并加载到Spring容器中,供其他类使用。
相关问题
@EnableConfigurationProperties(WhiteListProperties.class)
This annotation is used to enable the configuration properties for the WhiteListProperties class. It is typically used in a Spring Boot application to indicate that the WhiteListProperties class contains properties that should be loaded from a configuration file (e.g. application.properties) and made available for use in the application.
The @EnableConfigurationProperties annotation is often used in combination with the @ConfigurationProperties annotation, which is used to bind configuration properties to a Java object. By using these annotations together, you can easily load and use configuration properties in your Spring Boot application.
@EnableConfigurationProperties(WxMaProperties.class)
### 使用 `@EnableConfigurationProperties` 注解
#### 配置属性类的作用
在 Spring Boot 应用程序中,`WxMaProperties` 类用于封装微信小程序的相关配置参数。此类通过 `@ConfigurationProperties` 和 Lombok 的 `@Data` 注解简化了 getter/setter 方法的编写[^1]。
```java
package org.jeecg.modules.education.miniapp.config;
import java.util.List;
import org.springframework.boot.context.properties.ConfigurationProperties;
import lombok.Data;
@Data
@ConfigurationProperties(prefix = "wx.miniapp")
public class WxMaProperties {
private List<Config> configs;
@Data
public static class Config {
private String appid;
private String secret;
}
}
```
#### 启用配置属性
为了使上述配置生效并能够自动加载外部配置文件中的相应属性,需使用 `@EnableConfigurationProperties` 注解来启用特定类型的配置绑定功能。此注解通常应用于主应用程序启动类或任意配置类上:
```java
package org.jeecg.modules.education.miniapp;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.jeecg.modules.education.miniapp.config.WxMaProperties;
@SpringBootApplication
@EnableConfigurationProperties(WxMaProperties.class)
public class MiniAppApplication {
public static void main(String[] args) {
SpringApplication.run(MiniAppApplication.class, args);
}
}
```
这样做的好处是可以让开发者更加方便地管理应用内外部化配置项,并且可以轻松实现动态刷新等功能特性。
#### 获取配置信息
当项目运行时,可以通过依赖注入的方式直接获得已经装载好数据的对象实例,从而访问其中存储的各项设置值。例如,在服务层或其他组件内部可以直接声明一个 `WxMaProperties` 变量作为成员变量来进行操作:
```java
@Service
public class WeChatService {
private final WxMaProperties wxMaProperties;
@Autowired
public WeChatService(WxMaProperties wxMaProperties){
this.wxMaProperties=wxMaProperties;
}
// ... other methods ...
}
```
以上就是关于如何利用 `@EnableConfigurationProperties` 来注册自定义配置对象以及其基本用途介绍。
阅读全文