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 注解取出来使用。
原文地址: https://www.cveoy.top/t/topic/prd1 著作权归作者所有。请勿转载和采集!