我在我的spring应用程序中使用组件扫描.所以在spring上下文中我创建了map:
<util:map id="mapByName" map-class="java.util.concurrent.ConcurrentHashMap">
<entry key="Name1" value-ref="MyCustomClassName1" />
</util:map>
Run Code Online (Sandbox Code Playgroud)
在我的类中注释@Service我想注入这个属性:
@Inject
private Map<String, MyCustomClassName1> mapByName;
Run Code Online (Sandbox Code Playgroud)
这仍然有效.只是以钥匙的名义出现的问题.当我打印这个属性时,我得到了[MyCustomClassName1=org.my.package.service.MyCustomClassName1@cb52f2]
因此,您可以看到键的名称已从Name1-> MyCustomClassName1(此类的名称)更改.所以我的问题是如何在map属性中定义自定义键名?