How to pack springboot into war package and inject it into applicationContext
This article introduces the relevant knowledge of "springboot how to inject war package into applicationContext". In the operation process of actual cases, many people will encounter such difficulties. Next, let Xiaobian lead you to learn how to deal with these situations! I hope you can read carefully and learn something!
ApplicationContext needs to be injected into a certain business class of springboot. The solution is as follows
public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext =SpringApplication.run(HongoneApplication.class, args); //solve the problem that WebSocket cannot be injected WebSocketServer.setApplicationContext(configurableApplicationContext);}
Local test passed, but after typing into war package, injection failure was found. The solution is as follows
public class HongoneApplication extends SpringBootServletInitializer{ public static void main(String[] args) { ConfigurableApplicationContext configurableApplicationContext =SpringApplication.run(HongoneApplication.class, args); //solve the problem that WebSocket cannot be injected 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)); }
Rewrite the above two methods in the startup class to solve the problem
The content of "springboot how to type war package and inject applicationContext" is introduced here. Thank you for reading it. If you want to know more about industry-related knowledge, you can pay attention to the website. Xiaobian will output more high-quality practical articles for everyone!