0

私はSpringフレームワークを知っており、そこで働いており、ApplicationContextBeanのインスタンス化とロードに使用していました.

次のコードを書いたとしましょう

ApplicationContext context=new ClassPathXmlApplicationContext("appContext.xml");

appContext.xmlさて、上記のステートメントの後、で定義されている Beanがインスタンス化され、Spring によってロードされているかどうかを知るにはどうすればよいでしょうか?

注:Beanにアクセスする前に知りたい

4

2 に答える 2

1

取得してみてください:

MyClass myClass = (MyClass) context.getBean("MyBean");
于 2013-03-27T17:04:10.293 に答える
0

Reimeus と @jbx のコメントに同意します。何も投げられなければ、準備完了です。ただし、本当に確認したい場合は、ロガーまたは何らかの AOP を使用して、Bean の作成時にイベントをトリガーすることを検討してください。

私はあなたが何をしようとしているのか知っていると思いますが、それは私たちプログラマーにとって難しいことです. 依存性注入 (Spring がアプリケーション コンテキストで Bean を作成することによって行うこと) は、明示的に Bean を作成するステップ (つまり、"Thing something = new Thing()") を取り除きます。 、そしてあなたはその理由がわかりません。

オブジェクトがインスタンス化されます。Spring が正常に機能していることを信頼する必要があります。そうでない場合は通知されます:D

(BeanFactoryPost プロセッサhttp://javasourcecode.org/html/open-source/spring/spring-3.0.5/org/springframework/beans/factory/config/BeanFactoryPostProcessor.htmlもチェックしてください。あなたが本当に望むならそこに)

于 2013-03-27T17:06:28.900 に答える