gpt4 book ai didi

java - 如何配置 Spring Context 作为独立 java 应用程序中所有请求的公共(public)上下文?

转载 作者:太空宇宙 更新时间:2023-11-04 13:47:27 24 4
gpt4 key购买 nike

我正在创建一个独立的 java 应用程序,它将打包为 jar。现在,每次在某个类中执行方法时,我都需要加载 spring 上下文。有没有办法只初始化一次上下文并在所有请求中使用它。我知道如果我使用像 tomcat 这样的容器,那么它就可以达到这个目的,但那将是一个网络应用程序,不能满足我的需求。

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
@EnableAutoConfiguration
public class Controller {

@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}

public static void main(String[] args) throws Exception {
SpringApplication.run(Controller.class, args);
}
}

现在如果我执行

C:\ javac Controller.java
C:\ java Controller //Will create an application context evrytime I execute this.

我想要类似的东西

//Request 1
C:\ java Controller //1. Creates an Application Context in memory 2. Uses this Application Context.

//Still Application Context is in memory

//Request 2
C:\ java Controller //Uses Application Context created by Request 1.

//Still Application Context is in memory

//Request 3
C:\ java Controller //Uses Application Context created by Request 1.

//Still Application Context is in memory

//And so on....

最佳答案

你看过 Spring Boot 吗?通常,当您启动一个应用程序时,通常会有一个中央实例维护和保存您的运行时,通常在“主”线程上。这将是保存 Spring Context 实例的地方。

Spring 上下文的基本思想是,上下文管理所有依赖项,并且您获取注入(inject)的实例。因此,思维方式是相反的(您调用由上下文管理的东西,而不是调用从上下文检索数据的东西)。两种方式都可以。

马克·HTH

关于java - 如何配置 Spring Context 作为独立 java 应用程序中所有请求的公共(public)上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687253/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com