项目总结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>





你可能感兴趣的:(Hibernate)