本篇內容介紹了“springboot 如何打成 war 包后注入 applicationContext”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
需要在 springboot 某個業務類中注入 applicationContext,解決辦法如下
public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext =SpringApplication.run(HongoneApplication.class, args); //解決WebSocket不能注入的問題 WebSocketServer.setApplicationContext(configurableApplicationContext); }
本地測試通過,但是打成 war 包后,發現注入失效,解決辦法如下
public class HongoneApplication extends SpringBootServletInitializer{ public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext =SpringApplication.run(HongoneApplication.class, args); //解決WebSocket不能注入的問題 WebSocketServer.setApplicationContext(configurableApplicationContext); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(HongoneApplication.class); } @Override public void onStartup(ServletContext servletContext) throws ServletException { super.onStartup(servletContext); WebSocketServer.setApplicationContext(WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext)); }
啟動類中重寫以上兩個方法,問題解決
“springboot 如何打成 war 包后注入 applicationContext”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。