zoukankan      html  css  js  c++  java
  • spring和springmvc 整合步骤

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3        xmlns:context="http://www.springframework.org/schema/context"
     4        xmlns:aop="http://www.springframework.org/schema/aop"
     5        xmlns:tx="http://www.springframework.org/schema/tx"
     6        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     7        xsi:schemaLocation="
     8        http://www.springframework.org/schema/beans
     9        http://www.springframework.org/schema/beans/spring-beans.xsd
    10        http://www.springframework.org/schema/context
    11        http://www.springframework.org/schema/context/spring-context.xsd
    12        http://www.springframework.org/schema/aop
    13        http://www.springframework.org/schema/aop/spring-aop.xsd
    14        http://www.springframework.org/schema/tx
    15        http://www.springframework.org/schema/tx/spring-tx.xsd
    16 ">
    17     <context:component-scan base-package="cn.smbms.service,cn.smbms.pojo"/>
    18     <context:property-placeholder location="classpath:database.properties"/>
    19     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    20         <property name="driverClassName" value="${driver}"/>
    21         <property name="url" value="${url}"/>
    22         <property name="username" value="${user}"/>
    23         <property name="password" value="${password}"/>
    24         <!--性能调优-->
    25         <property name="initialSize" value="${initialSize}"/>
    26         <property name="maxActive" value="${maxActive}"/>
    27         <property name="maxIdle" value="${maxIdle}"/>
    28         <property name="minIdle" value="${minIdle}"/>
    29         <property name="maxWait" value="${maxWait}"/>
    30         <property name="removeAbandoned" value="${removeAbandoned}"/>
    31         <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}"/>
    32         <property name="testOnBorrow" value="${testOnBorrow}"/>
    33         <property name="testOnReturn" value="${testOnReturn}"/>
    34         <property name="testWhileIdle" value="${testWhileIle}"/>
    35         <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}"/>
    36         <property name="validationQuery" value="${validationQuery}"/>
    37         <property name="numTestsPerEvictionRun" value="${numTestsPerEvictionRun}"/>
    38 
    39     </bean>
    40 
    41     <!--拿到数据源,并且拿到mybatis配置文件-->
    42     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean" >
    43         <property name="dataSource" ref="dataSource"/>
    44         <property name="configLocation" value="classpath:mybatis-config.xml"/>
    45         <property name="plugins">
    46             <array>
    47                 <bean class="com.github.pagehelper.PageInterceptor">
    48                     <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
    49                     <property name="properties">
    50                         <value>
    51                             helperDialect=mysql
    52                             reasonable=true
    53                             supportMethodsArguments=true
    54                             params=count=countSql
    55                             autoRuntimeDialect=true
    56                         </value>
    57                     </property>
    58                 </bean>
    59             </array>
    60         </property>
    61     </bean>
    62 
    63    <!-- 整合dao层,mapper.xml和接口-->
    64     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    65         <property name="basePackage" value="cn.smbms.mapper"/>
    66     </bean>
    67 
    68     <!--配置事务管理器-->
    69     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    70         <property name="dataSource" ref="dataSource"/>
    71 
    72     </bean>
    73     <!--事务注解的配置-->
    74     <aop:aspectj-autoproxy/>
    75 
    76     <tx:advice id="interceptor" transaction-manager="transactionManager">
    77         <tx:attributes>
    78            <!-- 查询只读且不开启事务-->
    79             <tx:method name="query*" read-only="true" propagation="SUPPORTS"/>
    80             <!--下面给它默认开启事务-->
    81             <tx:method name="add*" />
    82             <tx:method name="del*"/>
    83             <tx:method name="update*"/>
    84             <tx:method name="*" />
    85         </tx:attributes>
    86     </tx:advice>
    87 
    88    <aop:config proxy-target-class="true">
    89        <!--切点-->
    90        <aop:pointcut id="transaction" expression="execution(* *cn.smbms.service..*.*(..))"/>
    91        <aop:advisor advice-ref="interceptor" pointcut-ref="transaction"/>
    92    </aop:config>
    93 
    94 </beans>
  • 相关阅读:
    从内存中加载并启动一个exe
    使用Hamcrest增强JUnit的测试能力
    Delphi编译指令说明
    Delphi 64与32位的差异
    获取exe文件窗口抓图,将memo转化为JPG输出
    Delphi 的 Utf-8 转换
    我的第一个破解软件,试验成功!
    Qt之QComboBox(基本应用、代理设置)
    常见寄存器以及常见汇编指令,常见爆破指令 good
    大神级回答exists与in的区别
  • 原文地址:https://www.cnblogs.com/KcBlog/p/14204977.html
Copyright © 2011-2022 走看看