Spring中的Bean实例化通知

时间:2013-03-27 17:01:01

标签: java spring

我知道Spring框架并且已经使用它并使用ApplicationContext来实例化和加载bean。

让我说我写下面的代码

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

现在,在上面的语句之后,我如何知道appContext.xml中定义的bean是否已被Spring实例化并加载?

注意:我想在访问任何bean之前知道它

2 个答案:

答案 0 :(得分:1)

尝试检索一个:

MyClass myClass = (MyClass) context.getBean("MyBean");

答案 1 :(得分:0)

我同意Reimeus和@ jbx的评论。如果没有任何东西被抛出你应该是好的去。如果你真的想确定,可以考虑使用记录器,甚至某种AOP来在创建bean时触发事件。

我想我知道你在做什么,这对于我们作为程序员来说很难做到。依赖注入(通过在应用程序上下文中创建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,如果你真的想要它可以让你看看那里有什么)