将xml id的值注入spring bean

mat*_*tst 4 spring spring-el

我很好奇是否有人知道快速实现目标的方法.我想将id的值注入我的spring bean的String中.

这就是我想要的简言之:

<bean id="matsientst" class="com.matt.Matt"/>
Run Code Online (Sandbox Code Playgroud)
public class Matt {
    @Value("#id")
    String id;
}
Run Code Online (Sandbox Code Playgroud)

我需要这个的原因是我们有很多在spring xml中配置的对象,我还需要在DB中进行管理.Spring id是我可以使用的方便键.我不想要注入我的所有对象,因为我将它们全部抽象出来我可以优雅地将Abstract类设置为ID.也就是说,如果这样可行.谢谢 - 马特

ska*_*man 7

只需实现BeanNameAware,Spring将提供idname属性(您使用的任何一个),例如

public class Matt implements BeanNameAware {
    private String id;

    public void setName(String beanName) {
       this.id = beanName;
    }
}
Run Code Online (Sandbox Code Playgroud)