我们以前获取配置文件都是通过
这两句代码,由于你的配置文件也就是applicationContext.xml,它的名字不一定叫这个名字,因为这个名字是可以自定义的,只是我们大家都约定熟成为这个名字,所以我们就相当于是耦合死了。
而且每次都会创建一个容器,也会影响性能
接下来我们就开始解耦合。
我们使用Spring提供的获取应用上下文(也就是配置文件)的工具
我们是相当于通过监听器,来创建容器,只要项目一运行,我们就创建容器,把它放到一个大家都能取到的地方(servletContext域),只要想用就直接去取就可以了
所以我们只需要做两件事情:
第一步。我们先去pom.xml中导入坐标
第二步:在web.xml文件中配置ContextLoaderLIstener监听器
然后配置一个全局的参数,让大家想用的时候就能取源码其实是把它给存到servletContext域中的
第三步:利用WebApplicationContextUtils获得应用上下文对象ApplicationContext
要注意的是WebApplicationContext是ApplicationContext的子类。
有人可能就想到了,你直接就从servletContext域中取出了配置文件,就可以直接用了,为什么还要通过WebApplicationContextUtils获得应用上下文对象ApplicationContext。
因为,我们要知道在servletContext域中,存的时候其实也存的是键值对,键的名字是我们自己命名的,值就是配置文件。如果我们其他类要用的时候就必须要记得这个键的名字,所以这就比较困难了,所以我们就用WebApplicationContextUtils获得应用上下文对象ApplicationContext,我们知道用这个方法取出来的就是配置文件,然后我们就可以自己命名了
运行结果:
当我们访问这个页面的时候,控制台就会打印
控制台打印结果: