Spring Boot 外部化配置
注解: @EnableConfiguaionProperties 和 @ConfigurationProperties配套使用
引入application.properties中的配置。
启动类
@SpringBootApplication
@EnableConfigurationProperties(OutProperties.class)
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
控制器
@RestController
public class HelloController {
@Autowired
private OutProperties p;
@GetMapping("/hello")
public Map hello(){
Map<String, String> config = p.getMap();
System.out.println("...");
return config;
}
}
配置类
package com.gupao.demo.controller;
import java.util.Map;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySources;
/**
* 外部化属性配置类
*
* @author Administrator
*
*/
@ConfigurationProperties(prefix=OutProperties.HELLO_PRE)
public class OutProperties {
public static final String HELLO_PRE="gp.data.source";
private Map<String,String> map;
private String name;
//get/set方法
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
application.properties
#外部化配置
gp.data.source.map.name=小明
gp.data.source.map.age=25
gp.data.source.map.key=1234
gp.data.source.map.name=小1
pom中需要引入configuraion依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
</dependency>
启动项目,访问 localhost:8080/hello
https://blog.csdn.net/xcbeyond/article/details/81000132