• 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>
  • 相关阅读:
    scikit-image 库简介
    如何下载网易云音乐APP里的MV和短视频?
    CentOS上用Squid搭建HTTP代理小结
    超简单的晃咖、小咖秀视频去水印下载方法
    自媒体攻略合集,教你如何做一名能赚钱的自媒体人
    怎么下载映客的视频?映客小视频下载到本地的方法
    如何把手机app的视频下载到手机上?网页上的视频怎么下载?
    短视频如何制作?如何下载短视频?常用的短视频录制和剪辑App有哪些?
    JVM jinfo命令(Java Configuration Info) 用法小结
    iOS11有哪些新功能?旧iPhone是否真的变慢了
  • 原文地址:https://www.cnblogs.com/zaixiuxing/p/5110847.html
Copyright © 2020-2023  润新知