BeanPostProcessorを使用してフィールドを設定せずに(Javaコード内))そのBean内から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 インターフェースを実装するだけで、自動的に取得されます。それには1つの方法があります:
void setBeanName(String name)