如何告诉Spring使用Java映射来解析属性占位符?

前端之家收集整理的这篇文章主要介绍了如何告诉Spring使用Java映射来解析属性占位符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个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提供了一个MapPropertySource,您可以在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
原文链接:https://www.f2er.com/spring/432358.html

猜你在找的Spring相关文章