java springboot枚举类定义变量从配置文件获取参数
时间: 2024-11-12 16:34:27 浏览: 24
在Java Spring Boot中,如果你想让枚举类的变量值从外部配置文件中动态获取,你可以利用`@Value`注解和`Enum`类型的特性结合起来。首先,定义一个枚举类,例如:
```java
public enum ConfigurableEnum {
@Value("${config.property.name}") // 这里 `${}` 是Spring Expression Language 的语法,表示配置文件中的某个键
INSTANCE_VALUE("Initial Value"), // 枚举常量可以同时提供默认值
// 其他枚举值...
private String configValue;
ConfigurableEnum(String defaultValue) {
this.configValue = defaultValue;
}
public String getConfigValue() {
return configValue;
}
}
```
在这个例子中,`INSTANCE_VALUE`的值将从应用的配置文件中名为`config.property.name`的地方读取,如果没有找到对应键,它会使用默认值"Initial Value"。
要在配置文件application.properties或yml中设置这个值,添加以下内容:
```
config.property.name=YourDesiredValue
```
现在,你可以通过`ConfigurableEnum.INSTANCE_VALUE.getConfigValue()`来访问实际的配置值。如果你需要在其他地方动态改变这个值,通常不是推荐的做法,因为枚举的主要目的是静态、不可变的状态。
阅读全文