项目总结SpringMVC+hibernate框架 web.xml 分析(2)

紧接

项目总结SpringMVC+hibernate框架 原理(MVC) applicationContext.xml 文件(3)

这一步讲解项目模块化的配置,项目中每个模块配置一个文件,命名规则为 “模块名-servlet.xml”。

讲述system-servlet.xml文件的配置

项目总结SpringMVC+hibernate框架 web.xml 分析(2)中有这个模块的配置,其余模块都是如此。

下面的配置都已有注释,需要详细看看,才能理解。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 基本的Controller目录 -->
<!-- 视图解析器 -->
<!-- 只能支持解析可由Servlet API的RequestDispatcher转发的视图资源图,如:内部jsp或者servlet。 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- viewClass指定了选择何种视图技术,这里使用JSTL技术 -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<!-- 视图前缀 -->
<property name="prefix" value="/jsp/system/"></property>
</bean>
<!-- 视图请求对应表 -->
<bean id="viewMappings"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="defaultHandler">
<!-- UrlFilenameViewController 会将 "/index" 这样的请求映射成名为 "index" 的视图 -->
<bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController" />
</property>
<!-- Controller 映射 如请求 : url: 'system/SysUser.do?action=toInsertModel'
请求时会找到id为sysUserController 配置,下面有配置 -->
<property name="mappings">
<value>
SysUser.do=sysUserController
</value>
</property>
<!-- 拦截器 -->
<property name="interceptors">
<list>
<ref bean="localeChangeInterceptor" />
<ref bean="denyDuplicateFormSubmitInterceptor" />
</list>
</property>
</bean> <!-- 每个Module的事务配置,将所有事务放到Service层 -->
<bean
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list>
<!-- 匹配以Service结尾的实体类 ,我的业务层是以Service结尾的 -->
<value>*Service</value>
</list>
</property>
<property name="interceptorNames">
<list>
<!-- applicationContext.xml 中有配置事务 -->
<value>transactionInterceptor</value>
</list>
</property>
</bean>
<!-- 事务配置结束 -->
<!-- 设置方法访问参数名 如 : url: 'system/SysUser.do?action=toInsertModel' 中的action -->
<bean id="paramResolver"
class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName" value="action"></property>
</bean> <!-- 设置方法访问参数名结束 --> <!-- 系统用户相关配置 -->
<bean id="sysUserDAO" class="com.hestia.mosa.system.dao.SysUserDAOImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- 当不同的业务层需要调用其它业务层的方法时,可以如下引用 -->
<bean id="sysUserService" class="com.hestia.mosa.system.service.SysUserServiceImpl">
<property name="sysUserDAO">
<ref bean="sysUserDAO" />
</property>
<!-- 可以如下引用 sysRoleDAO 、sysUserRoleDAO -->
<property name="sysRoleDAO">
<ref bean="sysRoleDAO" />
</property>
<property name="sysUserRoleDAO">
<ref bean="sysUserRoleDAO" />
</property>
</bean>
<bean id="sysUserController" class="com.hestia.mosa.system.controller.SysUserController">
<property name="methodNameResolver" ref="paramResolver"></property>
<property name="commandName">
<value>command</value>
</property>
<property name="sysUserService">
<ref bean="sysUserService" />
</property>
</bean><!-- 系统用户相关配置 结束 --> <!-- 自动为所有Conrolller创建代理类Begin -->
<bean id="controllerInterceptor"
class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<!-- 权限管理拦截器 applicationContext.xml中定义 -->
<property name="interceptorNames">
<list>
<value>rightInterceptor</value>
</list>
</property>
<property name="beanNames">
<list>
<value>*Controller</value>
</list>
</property>
</bean><!-- 自动为所有Conrolller创建代理类End -->
</beans>
上一篇:maven相关


下一篇:“后PC”时代来临