Spring整合Struts详解
Spring虽然也提供了自已的mvc组件,但一来spring的mvc组件过于繁琐,二来是Struts的用户众多,,因此,很多项目还是选择使用spring整合struts框架,而且spring可以无缝的整合strtus框架,二者结合成一个更实际的j2ee开发平台
使用spring的web应用时,不用手动创建spring容器,而是通过配置文件声明式地创建spring容器,因此,在web应用中创建spring容器有如下两种方式
1.直接在web.xml文件中配置spring容器
2.利用第三方MVC框架的扩展点,创建spring容器
一.直接在web.xml文件中配置spring容器
这种创建spring容器的方式更加常见。为了让spring容器随web的应用的启动而自动启动,有如下两种方法
1.利用ServletContextListener实现
2.采用load-on-startup Servlet实现
对于利用ServletContextListener实现方式,操作及说明如下
spring提供ServletContextListener的一个实现类ContextLoadListener,该类可以作为Listener使用,会在创建时自动查找web-inf/applicationContext.xml文件,因此,如果只有一个配置文件,并且名为applicationContext.xml,只需要在web.xml文件中加入如下配置即可
如是没有通过contextConfigLocation指定配置文件,spring会自动查找applicationContext.xml文件;如果有contextConfigLocation,则利用该参数确定的配置文件,如果无法找到合适的配置文件,spring将无法正常初始化
spring根据bean定义创建WebApplicationContext对象,并将其保存在web应用的ServletContext中。大部分情况下,应用的Bean无须感受到ApplicationContext的存在,只要利用ApplicationContext的IOC容器
如果需要在应用中获取ApplicationContext实例,可以通过如下代码获取
//获取当前web应用的spring的容器
其中,指定contextConfigLocation属性值时,即可以指定一个spring配置文件的位置,可以指定多个spring配置文件的位置