JAVA获取spring 管理对象的常用方法总结
第一种:
通过Spring本身提供的工具 WebApplicationContextUtils 来获取类对象。
例如:
WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();
ServletContext servletContext = webApplicationContext.getServletContext();
WebApplicationContext ac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
SocketClient client = (SocketClient) ac.getBean("socketClient");
这样就获取到了Spring容器管理的 SocketClient 对象了。
好处:
不需要重新加载类,可以直接获取spring中已经初始化的类对象。
第二种:
通过重新加载类对象,获取spring容器管理的 类对象。
BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml");
SocketClient client = (SocketClient ) beanFactory.getBean("socketClient ");