Java Spring中的Bean实例化通知

Java Spring中的Bean实例化通知,java,spring,Java,Spring,我了解Spring框架,并在其中工作过,并使用ApplicationContext实例化和加载bean 假设我写了下面的代码 ApplicationContext context=new ClassPathXmlApplicationContext("appContext.xml"); 现在,在上面的语句之后,我如何知道在appContext.xml中定义的bean是否已被Spring实例化和加载 注意:我想在访问任何bean之前了解它尝试检索一个: MyClass myClass = (My

我了解Spring框架,并在其中工作过,并使用
ApplicationContext
实例化和加载bean

假设我写了下面的代码

ApplicationContext context=new ClassPathXmlApplicationContext("appContext.xml");
现在,在上面的语句之后,我如何知道在
appContext.xml
中定义的bean是否已被Spring实例化和加载

注意:我想在访问任何bean之前了解它

尝试检索一个:

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

我同意Reimeus和@jbx的评论。如果什么也没扔,你就可以走了。如果你真的想确定的话,考虑使用记录器,甚至一些AOP来触发bean创建时的事件。 我想我知道你的意思,这是我们作为程序员很难做到的。依赖注入(spring通过在应用程序上下文中创建bean所做的)取消了显式创建bean的步骤(即“Thing-something=new-Thing()”),这可能会令人害怕,尤其是在早期开发中,当不是所有东西都正常工作时,您不知道为什么

您的对象被实例化。你只需要相信Spring正在做它自己的事情——它会让你知道它是否是:D


(也可以查看BeanFactoryPost处理器,如果您真的需要,它将允许您查看那里有什么)

您的意思是什么?如果它们在文件中,并且没有例外,当您需要它们时,它们会提供给您,取决于它们的作用域。实际上,在访问bean之前,我想知道。我刚刚实例化了ApplicationContext,想知道它是否实例化了任何bean。如果我没有弄错您的问题,您将在服务器控制台
预实例化bean[这里是appContext.xml中的所有bean]中看到下面这一行
当您启动服务器时。如果出现任何异常,您将看到
正在销毁bean…等等
不确定您在追求什么。这仅仅是因为您在解决某些问题或希望了解更多信息(在这种情况下,请启用更精细的日志记录),还是因为您希望处理代码中的错误?(在这种情况下,您尝试从上下文中获取bean)。@SrinivasR-如果我将其作为一个独立应用程序运行,并且我已经编辑了文章,该怎么办。我想在访问任何bean之前了解它