springboot2.1.x获取yml配置文件
pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
application.yml
name:
zhangsan
age:
18
list:
course[0]: 语文
course[1]: 数学
course[3]: 英语
map:
subject:
chinesec: 100
mathematics: 80
english: 78
map-list:
class-list:
one[0]: zhangsan
one[1]: wangwu
one[2]: lisi
twe[0]: zhangsi
twe[1]: liuneng
ConfigurationHelper
@Slf4j
@Component
public class ConfigurationHelper {
private static String name;
private static String age:
@Value("${name}")
public void setName(String name) {
ConfigurationHelper.name = name;
}
public static String getName() {
return name;
}
@Value("${age}")
public void setAge(String age) {
ConfigurationHelper.age = age;
}
public static String getAge) {
return age;
}
}
ListConfig
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "list")
@EnableConfigurationProperties(ListConfig.class)
public class ListConfig {
private static List<String> course = new ArrayList<>();
public static List<String> getCourse() {
return course;
}
public void setCourse(List<String> course) {
ListConfig.course = course;
}
}
MapConfig
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "map")
@EnableConfigurationProperties(MapConfig.class)
public class MapConfig {
/**
* 从配置文件中读取的limitSizeMap开头的数据
* 注意:名称必须与配置文件中保持一致
*/
private Map<String, String> subject = new HashMap<>();
public Map<String, String> getSubject() {
return subject;
}
public void setSubject(Map<String, String> subject) {
this.subject = subject;
}
}
MapListConfig
@Slf4j
@Configuration
@ConfigurationProperties(prefix = "map-list")
@EnableConfigurationProperties(MapListConfig.class)
public class MapListConfig {
private static Map<String, List<String>> classList = new HashMap<>();
public static Map<String, List<String>> getClassList() {
return classList;
}
public void setClassList(Map<String, List<String>> classList) {
MapListConfig.classList = classList;
}
}
Test
@SpringBootTest(classes = App.class)
public class AppTest {
@Test
public void test1() {
String name = ConfigurationHelper.getName();
String age = ConfigurationHelper.getAge();
List<String> course = ListConfig.getCourse();
Map<String, String> subject = MapConfig.getSubject()
Map<String, List<String>> classList = MapListConfig.getClassList()
}
}