Spring学习记录(2) Spring MVC+Mybatis 注解配置

所有XML的配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:aop="http://www.springframework.org/schema/aop" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    <!-- 引入jdbc配置文件 -->
    <context:property-placeholder location="classpath:jdbc.properties" />
   <!-- 启用注解,并且扫描基础包以及其下的各个子包 -->
<context:component-scan base-package="com.thunder.selfsite.blog" /> <!-- 对数据源进行事务管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <tx:annotation-driven transaction-manager="transactionManager"/>
<!-- 事务管理配置完成 -->
<!-- 在3.1之后注册了RequestMappingHandlerMapping以及RequestMappingHandlerAdapter两个bean,
      并且给Adapter注册了常用的转换器,具体之后记录。
--> <mvc:annotation-driven />

  <!-- 拦截器配置
     还可以手动配置在HandlerMapping的bean里
     mapping定义匹配路径: /*匹配根目录下第一级,/**匹配所有
   -->
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.thunder.selfsite.core.interceptor.SessionInterceptor"/> </mvc:interceptor> </mvc:interceptors> <!-- 下面注释掉的是手动注册的HandlerMapping和HandlerAdapter,
      messageConverters,这个转换器对json对象进行转换。因为手动注册的话不会自动提供一些默认的转换器
  <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter" /> </list> </property> </bean>
  这个bean里可以配置一些拦截器 <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"> <property name="interceptors"> <list> <bean class="com.thunder.selfsite.core.interceptor.SessionInterceptor"/> </list> </property> </bean>
--> <!-- 视图处理器
    返回的视图名会自动在前面加上prefix后面加上suffix得到路径
  --> <bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 定义数据源 --> <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <property name="driverClassName" value="${db.driverClassName}" /> <property name="url" value="${db.url}" /> <property name="username" value="${db.username}" /> <property name="password" value="${db.password}" /> <property name="initialSize" value="${db.initialSize}" /> <property name="maxActive" value="${db.maxActive}" /> <property name="maxIdle" value="${db.maxIdle}" /> <property name="maxWait" value="${db.maxWait}" /> <property name="minIdle" value="${db.minIdle}" /> <property name="testWhileIdle" value="${db.testWhileIdle}" /> <property name="validationQuery" value="${db.validationQuery}" /> </bean> <!-- 开始配置mybati --> <!-- 自动扫描mapping文件 start --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="classpath:mybatis-config.xml" /> <property name="mapperLocations"> <list> <!-- 表示在com.thunder包或以下所有目录中,所有xml文件 --> <value>classpath*:/com/thunder/**/*.xml</value> </list> </property> <property name="configurationProperties"> <props> <prop key="dialect">mysql</prop> </props> </property> </bean> <!-- 配置扫描器 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
     <!-- 这种配置方式不用写dao层的实现,这里的包是dao接口的包 -->
<property name="basePackage" value="com.thunder.selfsite.blog.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> <!-- 自动扫描mapping文件 end --> </beans>
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true" />
        <setting name="lazyLoadingEnabled" value="true"/>
     <!-- 按需加载对象 -->
<setting name="aggressiveLazyLoading" value="false"/> </settings> </configuration>

 

你可能感兴趣的:(Spring学习记录(2) Spring MVC+Mybatis 注解配置)