当前位置: 首页 > 面试题库 >

获取Spring应用程序上下文

顾承平
2023-03-14
问题内容

有没有办法在Spring应用程序中静态/全局地请求ApplicationContext的副本?

假设主类启动并初始化了应用程序上下文,它是否需要通过调用堆栈将其向下传递给需要它的任何类,或者是否有一种方法可以让类要求先前创建的上下文?(我认为必须是单身人士?)


问题答案:

如果需要访问容器的对象是容器中的Bean,则只需实现BeanFactoryAware或ApplicationContextAware接口。

如果容器外部的对象需要访问该容器,那么我已经对弹簧容器使用了标准的GoF单例模式。这样,你的应用程序中只有一个单例,其余都是容器中的所有单例bean。



 类似资料:
  • 我是Spring的初学者。今天,当我在阅读Spring core文档时,我在第1.3章中发现了以下说明。Bean概述 除了包含关于如何创建特定bean的信息的bean定义外,ApplicationContext实现还允许注册(由用户)在容器外部创建的现有对象。这是通过getBeanFactory()方法访问ApplicationContext的BeanFactory来完成的,该方法返回BeanFa

  • 我们有四个具有适当项目依赖关系的Eclipse项目:Web、Business、Common(包含域对象、DTOs、异常等)、DataAccess。 我想尽可能地使用注释,并且已经使用JDBC模板创建了一个MVC控制器、一个带有接口的新服务和一个带有接口的新dao,这一切都很好用。 现在我的问题是: 我的设置有任何意义吗? 谢谢你的洞察力。

  • 设置如下--我有一个定时任务,它将发送验证电子邮件,以便用户: 如果我可以在这里设置thymeleaf模板解析器来处理这些链接,也会有所帮助,但为此我需要,它需要的实例。

  • 问题内容: 我正在开发一个SpringBoot项目,我想使用来获得其名称的bean 。我已经尝试了许多来自Web的解决方案,但未能成功。我的要求是我要有一个控制器 在控制器内部我有一个方法。我想获取注册bean的实例。我有hibernate实体,我想通过仅在方法中传递类名来获取bean的实例。 如果有人知道解决方案,请提供帮助。 问题答案: 你可以将ApplicationContext自动连接为一

  • 我正在开发一个SpringBoot项目,我希望使用按其名称获得bean。我已经尝试了许多解决方案从网上,但不能成功。我的要求是我有一个控制器 在控制器内部,我有一个方法。我想获得注册bean的实例。我有hibernate实体,我想通过只在方法中传递类的名称来获得bean的实例。

  • 我多年来一直在使用Spring MVC,我试图理解与Spring Boot的一些关键区别。 你能帮我确认一下吗?或者让我明白我在这里遗漏了什么?