java - 如何从 Spring 中的 bean 中获取 bean 的 id?

标签 java spring javabeans

在不使用 BeanPostProcessor 设置字段的情况下,从该 bean 内部(在 Java 代码中)检索 bean id 的最简单方法是什么?

我能想到的唯一方法是使用 BeanPostProcessor:

public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
    ((MyBean)bean).setName(beanName);
    return bean;
}

是否有更好的方法不需要我编写额外的类或知道相关 bean 的类?我尝试通过文档和 Google 进行搜索,但我不确定我需要寻找什么。

谢谢!

最佳答案

只需执行 org.springframework.beans.factory.BeanNameAware界面,你会自动得到它。它有一种方法:

void setBeanName(String name)

关于java - 如何从 Spring 中的 bean 中获取 bean 的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1199358/

相关文章:

java - 如何让 Talend 进程正确捕获 SIGINT?

java - Akka DeathWatch - 查找终止原因

java - Spring框架中工厂的正确实现方法

jasper-reports - 主报告不显示 Jaspersoft Studio 中使用 Java Beans 的基本子报告

java - 使用 bean 实例化类后立即调用方法(带参数)的最佳方法是什么?

java - 将 Spring MVC 与内联 PHP 混合

java - 如何获取 :errors tag by using MultiActionController? 形式的错误消息

java - Spring:使用授权 header 重定向

java - Spring JMS订阅者无法接收消息?

java - 如何实现通用bean