@EnableConfigurationProperties(WhiteListProperties.class)
时间: 2023-10-28 14:51:36 浏览: 140
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` 来注册自定义配置对象以及其基本用途介绍。
@EnableConfigurationProperties(DruidProperties.class)
`@EnableConfigurationProperties(DruidProperties.class)` 是Spring Boot中的一种注解,用于启用@ConfigurationProperties注解的数据源配置。DruidProperties是一个自定义的属性类,通常代表了 Druid数据库连接池的相关配置,如数据源地址、用户名、密码、初始化大小等。当你在Spring配置中应用这个注解时,Spring会自动将DruidProperties类中声明的所有属性绑定到启动时扫描的配置文件(通常是application.properties或application.yml)中的相应键值对。
例如:
```java
@Configuration
@EnableConfigurationProperties(DruidProperties.class)
public class DataSourceConfig {
private final DruidProperties druidProperties;
public DataSourceConfig(DruidProperties druidProperties) {
this.druidProperties = druidProperties;
}
// 这里可以访问druidProperties的属性并设置数据源
@Bean
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(druidProperties.getUrl());
dataSource.setUsername(druidProperties.getUsername());
// ...其他配置
return dataSource;
}
}
```
阅读全文