我有一个Map< String,String>我想告诉Spring在创建bean和解析属性占位符时使用它.最简单的方法是什么?这是一个例子:
@Component
public class MyClass {
private String myValue;
@Autowired
public MyClass(@Value("${key.in.map}") String myValue) {
this.myValue = myValue;
}
public String getMyValue() {
return myValue;
}
}
public static void main(String[] args) {
Map
最佳答案
Spring提供了一个
原文链接:https://www.f2er.com/spring/432358.htmlMapPropertySource
,您可以在ApplicationContext的环境中注册(您需要一个大多数ApplicationContext实现提供的ConfigurableEnvironment).
解析器(按顺序)使用这些已注册的PropertySource值来查找占位符名称的值.
这是一个完整的例子:
@Configuration
@ComponentScan
public class Example {
@Bean
public static PropertySourcesPlaceholderConfigurer configurer() {
PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
// can also add it here
//configurer.setPropertySources(propertySources);
return configurer;
}
public static void main(String[] args) {
Map