这段时间公司搞封闭开发,做一个联通总部的客服系统项目,是基于springboot的。在开发工程中遇到一个页面datagrid数据排序的功能,因为有多个表的数据都要用到排序功能,于是我就写了一个排序功能的公共实现类,方便大家使用。在写实现类的过程中学习了在普通类中获取spring容器中的bean的方法。
如果我们需要在一个类中使用spring提供的bean对象,那么我们需要把这个bean注入到spring容器中,交给spring容器来管理。但是在实际应用中我们往往会碰到在普通的java类中,需要直接使用spring提供的对象或者说有一些对象不需要交给spring容器来管理,但是需要用到spring容器中的一些对象。
如果这是spring框架的独立应用程序,我们通过ApplicationContext对象即可获取到:
ApplicationContext applicationContext = new FileSystemXmlApplicationContext("applicationContext.xml");
applicationContext.getBean("beanId");
但是在实际应用中,我们做的项目大多是web application,在web application中我们启动spring容器是通过在web.xml中进行配置,这样就不适合使用上面的方式在普通类去获取对象了,因为这样做就相当于加载了两次spring容器,而我们想是否可以通过在启动web服务器的时候,就把Application放在某一个