java怎么把map注入到bean里面然后使用Value注解取出来
使用@Value注解无法直接注入Map类型的属性,可以通过@Autowired或者@Resource注解配合@Qualifier注解注入Map类型的属性。
- 使用@Autowired和@Qualifier注入Map类型的属性:
@Component
public class MyBean {
@Autowired
@Qualifier("myMap")
private Map<String, String> myMap;
// 使用myMap属性
}
在另一个类中定义Map类型的bean,并使用@Qualifier注解指定其名称:
@Component
public class MyMapBean {
@Bean("myMap")
public Map<String, String> myMap() {
Map<String, String> map = new HashMap<>();
// 初始化map
return map;
}
}
- 使用@Resource和@Qualifier注入Map类型的属性:
@Component
public class MyBean {
@Resource
@Qualifier("myMap")
private Map<String, String> myMap;
// 使用myMap属性
}
在另一个类中定义Map类型的bean,并使用@Qualifier注解指定其名称:
@Component
public class MyMapBean {
@Bean("myMap")
public Map<String, String> myMap() {
Map<String, String> map = new HashMap<>();
// 初始化map
return map;
}
}
通过以上方式,可以将Map注入到Bean中,并使用@Value注解取出来使用
原文地址: http://www.cveoy.top/t/topic/hIao 著作权归作者所有。请勿转载和采集!