将非字符串属性注入@Bean方法参数

时间:2015-06-08 10:38:38

标签: java spring spring-el spring-java-config

使用java config创建bean我想将非字符串属性作为方法参数注入。 我添加了一个包含List和Map的地图PropertySource:

Map props = new Hashmap();
List list = new ArrayList();
list.add("myValue");
props.put("listKey",list);
Map map = new Hashmap()
map.put("key1","Value1")
props.put("mapKey",map)
environment.getPropertySources().addFirst(
                    new MapPropertySource("myPropertySource",props))

和我的@Bean方法:

@Configuration
class AppConfig{
    public MyBean myBean(@Value("#{myPropertySource['mapKey']}")Map map,
                         @Value("#{myPropertySource['listKey']}")List list){
         return new MyBean(list,map)
    }
}

这不起作用,我得到一个例外:

Field or property 'myPropertySource' cannot be found on object of type 'org.springframework.beans.factory.config.BeanExpressionContext

有关如何做到这一点的任何帮助? 谢谢

0 个答案:

没有答案