将xml id的值注入spring bean

时间:2012-01-05 20:43:14

标签: spring spring-el

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

这就是我想要的简言之:

<bean id="matsientst" class="com.matt.Matt"/>

public class Matt {
    @Value("#id")
    String id;
}

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

1 个答案:

答案 0 :(得分:7)

只需实施BeanNameAware,Spring就会提供idname属性(无论您使用哪个属性),例如

public class Matt implements BeanNameAware {
    private String id;

    public void setName(String beanName) {
       this.id = beanName;
    }
}