Spring-mvc文件配置
《1》、在web.xml文件中配置信息:
<1>、配置applicationContext.xml
《属于spring》
<!-- 指定Spring Bean的配置文件所在目录。默认配置在WEB-INF目录下 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-configs/applicationContext.xml
</param-value>
</context-param>
<2>、配置filter《可选》
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<3>、配置filter映射<filter-mapping>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<4>.配置servlet:<是spring-mvc的核心控制器,客户端发送过来的所有请求都会通过servlet过滤*.do,如果过滤成功就会交给spring-mvc框架处理>
<servlet>
<servlet-name>Dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如spring-servlet.xml
classpath:/spring-configs/Dispatcher-mvc.xml
</param-value>
</init-param>
</servlet>
<5>.配置servlet-mapping
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Dispatcher</servlet-name>
<url-pattern>*.json</url-pattern>
</servlet-mapping>
<6>.配置监听器
<listener>
<listener-class> org.springframework.web.util.IntrospectorCleanupListener
</listener-class>
</listener>
《2》Dispatcher-mvc.xml
<1>扫描注解目录
<!-- 启用spring mvc 注解 -->
<context:annotation-config />
<!-- 注解扫描目录 -->
<context:component-scan base-package="com.test.*,com.jii.*">
</context:component-scan>
<!-- <mvc:annotation-driven /> --><!-- 默认注解映射zhichi -->
<2>指定springMVC的视图处理器的默认模板
<!--指定spring mvc的视图处理器 默认为jsp模板 -->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp" />
<property name="suffix" value=".jsp" />
</bean>
<3>完成请求和注解pojo的映射
<bean class="org.springframework.web.servlet.mvc.annotation.Annotatio nMethodHandlerAdapter">
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<bean id="utf8StringHttpMessageConverter" class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/plain;charset=UTF-8</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
参见:test-web-first.src/main/resources.spring-configs.Dispatcher-mvc.xml
《3》、applicationContext.xml配置
<1>、配置加载<jdbc.properties>
<!-- 1. properties配置加载 -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
</bean>
<2>、配置数据源
<!-- 2. 数据源配置 -->
<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${mysql.driverClassName}"/>//加载驱动
<property name="url" value="${mysql.url}" />
<property name="username" value="${mysql.username}" />
<property name="password" value="${mysql.password}" />
</bean>
<3>、加载ibates配置文件
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation">
<value>classpath:ibatis-configs/iBatis-mysql-configuration.xml
</value>
</property>
</bean>
<4>、扫描目录注解
<!-- 3.注解扫描目录 -->
<context:component-scan base-package="com.test.*,com.jii.*">
</context:component-scan>
<5>、定义事物管理器
<!-- 4.事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="datasource" />
</bean>
<bean id="defaultTransDefinition"
class="org.springframework.transaction.support.DefaultTransactionDefinition" scope="prototype" />
<6>、定义事物模板
<!-- 5.事务模板 -->
<bean id="transactionTemplate"
class="org.springframework.transaction.support.TransactionTemplate" scope="prototype">
<property name="transactionManager" ref="transactionManager" />
</bean>
<7>、使用annotation定义事物
<!-- 6.使用annotation定义事务 -->
<tx:annotation-driven transaction-manager="transactionManager" />
参见:test-web-first.src/main/resources.spring-configs.applicationContext.xml
《4》iBatis-mysql-configuration.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings cacheModelsEnabled="true"
useStatementNamespaces="true" //允许设置namespaces
enhancementEnabled="true"
maxTransactions="20"
maxRequests="32"
maxSessions="10" />
<!-- 引用所有mysql ibatis config -->
<sqlMap resource="com/test/core/dao/student.mysql.ibatis.xml" />
<sqlMap resource="com/test/core/dao/idCard.mysql.ibatis.xml" />
<sqlMap resource="com/test/core/dao/course.mysql.ibatis.xml" />
</sqlMapConfig>
《4》设置dao层的ibatis配置文件student.mysql.ibatis.xml