我知道Spring框架并且已经使用它并使用ApplicationContext
来实例化和加载bean。
让我说我写下面的代码
ApplicationContext context=new ClassPathXmlApplicationContext("appContext.xml");
现在,在上面的语句之后,我如何知道appContext.xml
中定义的bean是否已被Spring实例化并加载?
注意:我想在访问任何bean之前知道它
答案 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,如果你真的想要它可以让你看看那里有什么)