1:配置文件里存数据
2. 项目里新建一个AppConfig文件
@Configuration
public class AppConfig {
//name是bean的名字,在其他文件引入时用
@Bean(name = "settings")
//prefix = "settings"是配置文件的前缀
@ConfigurationProperties(prefix = "settings")
Map<String, SettingItem> settings() {
return new HashMap<>();
}
}
3.新建一个SettingItem文件
@Data
public class SettingItem {
private String test1;
private List<String> test2;
}
- Service层
@Service
@RequiredArgsConstructor
@RefreshScope
public class UserService {
private final Map<String, SettingItem> settings;
public Map<String, SettingItem> setting(){
return settings;
}
}
5.单元测试
@Test
public void name(){
System.out.println(userService.setting());
}
2022-02-18 16:10:26.565 INFO 11296 --- [ main] com.example.UserServiceTest : Started UserServiceTest in 3.641 seconds (JVM running for 4.3)
{test=SettingItem(test1=光明, test2=[光明, 光明])}
从结果上可以看出settings其实就是一个map,它的key就是test,而test本身又是一个map,它得两个Key分别是test1和test2,test1本身是个字符串,test2是一个list数组,所以我们把最内层的元素用SettingItem类接收。