哈喽,最近工作比较忙,网站重建后,动态更新也比较少,刚好最近遇到一个问题就是在配置文件中存入 List
和 Map
,同时将配置文件存放 nacos
动态获取,那我以Boot项目简单说明一下。
添加配置信息
List
需要注意: - 张三 这里有一个空格;Map
需要注意: 1: 小王先生 这里也有一个空格。
myprops:
showpagemaps:
1: 张三
2: 李四
3: 王五
list:
- 小王先生
- 青山小站
- 百度百科
- 百度云
- 腾讯云
- 良心云
- 套路云
添加依赖包
Boot
项目已经存在此依赖,所以可以忽略。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
创建配置类
此处已经引入lombok,所以无需写get和set方法。
package com.yanqingshan.springboot.uitls;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 配置文件
*
* @author yanqs
* @version 1.0
* @Description
* @date 2021/5/23 0:54
*/
@Data
@Configuration
@ConfigurationProperties(prefix = "myprops")
public class MypropsConfig {
/**
* List 数组
*/
private List<String> list;
/**
* Map
*/
private Map<Integer, String> showpagemaps;
}
调用输出
新建一个Controller
,可参考以下代码,此处添加了hutool
工具包,此包功能比较强大,适合快速开发,有兴趣的童鞋可以研究一下。
此处还有一个@Resource
注解,可参考本站上一篇文章。
2、@Autowired默认按类型进行装配,@Resource默认按照名称进行装配。
{/collapse-item}
package com.yanqingshan.springboot.controller;
import cn.hutool.core.lang.Console;
import com.yanqingshan.springboot.uitls.MypropsConfig;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* @author yanqs
* @version 1.0
* @Description
* @date 2021/5/23 0:57
*/
@RestController
@RequestMapping("/test")
public class TestController {
@Resource
private MypropsConfig mypropsConfig;
/**
* 读取数据数据
*
* @return
*/
@GetMapping("/selected")
public List<String> selected() {
Console.log(mypropsConfig.getList());
return mypropsConfig.getList();
}
/**
* 读取Map
*
* @return
*/
@GetMapping("/showPageMap")
public Map<Integer, String> showPageMap() {
Map<Integer, String> showPageMaps = mypropsConfig.getShowpagemaps();
for (Integer key : showPageMaps.keySet()) {
Console.log("key:" + key + ",value:" + showPageMaps.get(key));
}
return showPageMaps;
}
}
评论 (0)