首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从初始化的bean对象获取限定符名称

从初始化的bean对象获取限定符名称
EN

Stack Overflow用户
提问于 2019-09-20 06:29:12
回答 2查看 53关注 0票数 0

我有两个同类型的豆子;

代码语言:javascript
复制
@Bean
public RestTemplate jsonTemplate() {
    return new RestTemplate();
}

@Bean
public RestTemplate xmlTemplate() {
    return new RestTemplate();
}

我把两个豆子都列成了下面的清单;

代码语言:javascript
复制
@Autowired
private List<RestTemplate> templates;

列表templates将在size=2中包含两个bean。

从这个列表中,我如何获得他们的名字(["jsonTemplate", "xmlTemplate")?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-20 06:44:11

真的很简单..。

只是在做;

@Autowired私有Map模板;

让Spring将名称作为键插入,bean本身作为映射中的值插入。

Spring似乎只是停止跟踪注入后的命名。所以我不知道是否还有其他的方法(或者,如果可能的话,更简单的方法)?

票数 2
EN

Stack Overflow用户

发布于 2019-09-20 06:44:40

您可以使用bean地图:

代码语言:javascript
复制
@Bean
public Map<String, RestTemplate> templateMap(RestTemplate jsonTemplate, RestTemplate xmlTemplate) {
    Map<String, RestTemplate> map = new HashgMap<>();
    map.put("jsonTemplate", jsonTemplate);
    map.put("xmlTemplate", xmlTemplate);
    return map;
}

@Autowired
private Map<String, RestTemplate> templates;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58022872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档