如何在Spring Boot 2.2.2.RELEASE版本中正确配置Map对象并写入到应用的配置文件中?
时间: 2024-10-27 15:06:09 浏览: 22
spring-boot-starter-validation-2.2.2.RELEASE.jar
5星 · 资源好评率100%
在Spring Boot 2.2.2.RELEASE及以后的版本中,你可以通过`@Value`注解或者`Properties`类来配置Map对象并将其写入到application.properties或application.yml这样的外部配置文件中。以下是两个常见的方法:
**使用`@Value`注解:**
```java
@Configuration
public class AppConfig {
@Value("${myMapConfig}")
private Map<String, String> myMap;
//...
}
```
在这里,你需要在配置文件中提供一个键值对,例如:
```properties
myMapConfig={"key1": "value1", "key2": "value2"}
```
**使用`Properties`类:**
```java
@Configuration
public class AppConfig {
private static final Properties PROPERTIES = new Properties();
@PostConstruct
public void init() {
try {
PROPERTIES.load(new FileInputStream("config.properties")); // 或者从类路径加载
} catch (IOException e) {
throw new RuntimeException(e);
}
this.myMap = PROPERTIES.toMap();
}
private Map<String, String> myMap;
//...
}
```
在这个例子中,假设有个config.properties文件:
```
myMap=key1=value1&key2=value2
```
`&`用于分隔键值对。
阅读全文