簡體   English   中英

如何配置Spring Context作為獨立Java應用程序中所有請求的公共上下文?

[英]How to Configure Spring Context to serve as a common context across all requests in a standalone java application?

我正在創建一個獨立的Java應用程序,它將打包為jar。 現在,我每次在某個類中執行一個方法時都需要加載spring上下文。 有沒有辦法只初始化一次上下文並在所有請求中使用它。 我知道如果我使用諸如tomcat之類的容器,那么它可以達到這個目的,但這將是一個webapp,不能滿足我的需求。

 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上下文的基本思想是,上下文管理所有依賴項,您可以獲得注入的實例。 因此,思維方式是另一種方式(您調用由上下文管理的內容,而不是調用從上下文中檢索數據的內容)。 兩種方式都可以。

HTH,馬克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM