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

简单的Spring,将ClasspathApplicationContext用于独立的应用程序,如何重用?

薛英卫
2023-03-14
问题内容

如果我有一个独立的主应用程序。说20堂课。它们都可能随时需要与spring配置(ApplicationContext)定义的bean接口。我将在主应用程序入口点引导类路径应用程序上下文。但是,如何重用已经实例化的bean?

例如,将ClasspathApplicationContext设置为单例似乎是一种不好的方法,但这就是这个主意。

我以为我已经看到了GlobalContextLocator或类似的东西,但是没有看到如何使用它的示例


问题答案:

有很多方法可以做到这一点。最好的参考在这里:

http://static.springframework.org/spring/docs/2.5.x/reference/beans.html#context-
introduction

您需要查看的特定类是SingletonBeanFactoryLocator和ContextSingletonBeanFactoryLocator。

如果使用SingletonBeanFactoryLocator,则可以使用以下内容查找bean:

BeanFactoryLocator bfl = SingletonBeanFactoryLocator.getInstance();
BeanFactoryReference bf = bfl.useBeanFactory("com.mycompany.myapp");
MyClass zed = bf.getFactory().getBean("mybean");

Javadocs中对此有很好的详细解释:

http://static.springframework.org/spring/docs/2.5.x/api/org/springframework/beans/factory/access/SingletonBeanFactoryLocator.html

另外,为了清楚起见,请确保配置文件位于应用程序的类路径中,否则查找将失败。



 类似资料:
  • 问题内容: 我正在考虑开发由两部分组成的桌面应用程序: 用户界面(例如Java应用) 后端Node.js服务器 2个部分通过插座连接。不要问为什么我知道这很奇怪。 我将希望能够为客户提供带有安装程序的应用程序。我不希望用户必须自己安装Node.js。 有没有一种方法可以独立安装Node.js服务器,即无需在系统上全局安装Node.js。 对于任何(Windows,Linux,Mac OS X …)

  • 现在假设我们想要使用 Spark API 写一个独立的应用程序。我们将通过使用 Scala(用 SBT),Java(用 Maven) 和 Python 写一个简单的应用程序来学习。 我们用 Scala 创建一个非常简单的 Spark 应用程序。如此简单,事实上它的名字叫 SimpleApp.scala: /* SimpleApp.scala */ import org.apache.spark.S

  • 问题内容: 我正在寻找在 独立的(桌面/秋千)* 应用程序中使用 Spring的 示例或教程,我进行了很多搜索,但找不到有用的东西,所有示例和教程均适用于Web应用程序,请告知。 * 问题答案: 使用maven创建独立应用程序,如下所示: 使用Maven创建独立的应用程序 将applicationContext放在类路径中,并按如下所示将其加载到主类中: 在此处查看全文: http://www.d

  • 我正在试图弄清楚如何构建一个Spring Boot独立应用程序。当然,要让东西自动连线需要一些初始的上下文起点。如果我只是尝试自动生成一个类来运行一个作业,那么即使我将它设置为静态,它也是空的。 有没有办法在一个独立的非Web应用程序中使用Spring@Services? 因此,首先将静态JobRunnerService连接到运行MyApplication的主程序,JobRunner(Servic

  • 在一个常规的Java应用程序中,我有一个BufferedImage,我想使用ImageJ来操作它。我有一个宏,这正是我需要执行的。我怀疑第一步是制作一个ImagePlus对象,但我不确定如何然后从Java内部在ImagePlus对象上运行一个宏。这里找到的ImageJ教程的第7.3节说: 如果您决定使用ImagePlus作为内部图像格式,您还可以使用ImageJ发行版中的所有插件和宏,以及所有其他