网站实例开发二 环境配置

1.maven pom.xml文件配置

先创建一个BaseCommon项目,引入搭建spring mvc+spring+hibernate所需包

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.testsample</groupId>
    <artifactId>BaseCommon</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>BaseCommon</name>
    <url>http://maven.apache.org</url>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <dependency>
            <!--单元测试包 -->
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <!-- 基础包 -->
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>3.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <!-- spring管理SessionFactory -->
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>3.2.10.RELEASE</version>
        </dependency>
        <dependency>
            <!-- 字节码类库实现动态注入 -->
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.18.1-GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>3.6.10.Final</version>
        </dependency>
        <dependency>
            <!-- 日志系统 -->
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.7.7</version>
        </dependency>
        <dependency>
            <!-- 语法分析器 -->
            <groupId>antlr</groupId>
            <artifactId>antlr</artifactId>
            <version>2.7.7</version>
        </dependency>
        <dependency>
            <!--数据库连接方式 -->
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.1.2</version>
        </dependency>
        <dependency>
            <!--mysql的数据库连接包 -->
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.31</version>
        </dependency>
        <dependency>
            <!--Spring AOP所要用到的依赖包 -->
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.8.1</version>
        </dependency>
        <dependency>
            <!-- 日志记录包 -->
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.8</version>
        </dependency>
        <dependency>
            <!-- jackson的核心包 -->
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <!-- jackson的数据转换包 -->
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <!-- jackson包 -->
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <!-- 代理 实现AOP的一种方式 -->
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>tomcat</groupId>
            <artifactId>servlet-api</artifactId>
            <version>5.5.23</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-weaver-build-tools</artifactId>
            <version>1.0</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <!-- jsp页面的JSTL标签包 -->
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>quartz</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <!-- 服务端模拟页面发送HTTP请求包 -->
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.2.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <version>4.2.5</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itextpdf</artifactId>
            <version>5.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-pdfa</artifactId>
            <version>5.5.0</version>
        </dependency>
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-xtra</artifactId>
            <version>5.5.0</version>
        </dependency>
        <!-- PDF支持中文的就jar库 -->
        <dependency>
            <groupId>com.itextpdf</groupId>
            <artifactId>itext-asian</artifactId>
            <version>5.2.0</version>
        </dependency>
        <dependency>
            <groupId>org.xhtmlrenderer</groupId>
            <artifactId>core-renderer</artifactId>
            <version>R8</version>
        </dependency>
        <dependency>
            <groupId>com.lowagie</groupId>
            <artifactId>itext</artifactId>
            <version>2.0.8</version>
        </dependency>
        <dependency>
            <groupId>com.github.xuwei-k</groupId>
            <artifactId>html2image</artifactId>
            <version>0.1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>maven-net-cn</id>
            <name>Maven China Mirror</name>
            <url>http://maven.net.cn/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <build>
        <finalName>BaseCommon</finalName>
    </build>
</project>

在正式网站上配置pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.testsample</groupId>
    <artifactId>test-sample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>Testsample</name>
    <url>http://maven.apache.org</url>
    <properties>
        <jersey-version>0.0.1-SNAPSHOT</jersey-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>tomcat</groupId>
            <artifactId>servlet-api</artifactId>
            <version>5.5.23</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.5-FINAL</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.testsample</groupId>
            <artifactId>BaseCommon</artifactId>
            <version>${jersey-version}</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
<build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <configuration>
                        <projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
                        <wtpmanifest>true</wtpmanifest>
                        <wtpapplicationxml>true</wtpapplicationxml>
                        <wtpversion>2.0</wtpversion>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <id>tomcat-deploy</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>deploy</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <path>/</path>                      
                    <port>7080</port>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                    <tomcatWebXml>WebContent/WEB-INF/web.xml</tomcatWebXml>      
                    <warFile>${basedir}/target/DelegateSystemServer.war</warFile>                 
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <webappDirectory>WebContent</webappDirectory>
                    <webXml>WebContent/WEB-INF/web.xml</webXml>
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>2.1</version>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${basedir}/WebContent/WEB-INF/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <finalName>TestSample</finalName>
    </build>
</project>

2.web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                        http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

    <display-name>testsample</display-name>
    <context-param>
        <!-- spring和hibernate的配置 -->
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-hibernate.xml</param-value>
    </context-param>
    <listener>
        <!-- 避免缓冲泄露 -->
        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
    </listener>
    <listener>
        <!-- 自动装配ApplicationContext的配置信息 -->
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>springMvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <!-- spring mvc 配置文件 -->
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springMvc</servlet-name>
        <url-pattern>/index</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <!-- Web应用程序上下文根的路径 -->
        <servlet-name>springMvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <filter>
    <!-- Spring中的字符集过滤器 -->
        <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>
    <filter-mapping>
        <!-- 设置为true则强制覆盖之前的编码格式 -->
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 登录过滤器 -->
    <filter>
        <filter-name>DelegatingFilterProxy</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>targetBeanName</param-name>
            <param-value>sessionFilter</param-value>
        </init-param>
        <init-param>
            <param-name>targetFilterLifecycle</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>DelegatingFilterProxy</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>

    <session-config>
    <!-- session过期时间 -->
        <session-timeout>30</session-timeout>
    </session-config>
    <error-page>
        <error-code>404</error-code>
        <location>/WEB-INF/jsp/err404.jsp</location>
    </error-page>
    <error-page>
        <error-code>500</error-code>
        <location>/WEB-INF/jsp/err500.jsp</location>
    </error-page>

    <!-- <security-constraint> <web-resource-collection > <web-resource-name
        >SSL</web-resource-name> <url-pattern>/loginFrame</url-pattern> </web-resource-collection>
        <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint> </security-constraint> -->

    <welcome-file-list>
        <welcome-file>index</welcome-file>
    </welcome-file-list>
</web-app>

3.配置spring mvc的文件 spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                        http://www.springframework.org/schema/mvc
                        http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.2.xsd">
    <!-- 扫描类升级bean -->
    <context:component-scan base-package="com.testsample.*.action" />
    <!-- 快速应用默认配置方案 -->
    <mvc:annotation-driven />
    <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 -->
    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean
                    class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" />
                <bean
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                    <property name="supportedMediaTypes">
                        <list>
                            <value>text/plain; charset=UTF-8</value>
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
    <!-- 返回页面路径 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver"
        p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
    <!-- 欢迎页配置 -->
    <mvc:view-controller path="/" view-name="login" />
    <!-- 静态资源所有引用/WEB-INF/**的资源都在/WEB-INF/下找 -->
    <mvc:resources location="/WEB-INF/" mapping="/WEB-INF/**" />
    <mvc:resources location="/resource/" mapping="/resource/**" />
    <mvc:resources location="/easyui/" mapping="/easyui/**" />
    <mvc:resources location="/ueditor/" mapping="/ueditor/**" />

    <!-- 配置上传 -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
        p:defaultEncoding="UTF-8" />

</beans>
   
4.配置spring和hibernate

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
                        http://www.springframework.org/schema/aop
                        http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
                        http://www.springframework.org/schema/tx
                        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
                        http://www.springframework.org/schema/util
                        http://www.springframework.org/schema/util/spring-util-3.2.xsd                        
                        http://www.springframework.org/schema/context
                        http://www.springframework.org/schema/context/spring-context-3.2.xsd">
    <!-- 扫描类生成bean -->
    <context:component-scan base-package="com.trustsaving.*.service" />
    <context:component-scan base-package="com.trustsaving.*.dao" />
    <context:component-scan base-package="com.trustsaving.common.base" />
    <context:component-scan base-package="com.trustsaving.web.filter.action" />

    <!-- 引用一个本地文件 -->
    <!-- <util:properties id="propertiesReader" location="classpath:sdoPayParam.properties"
        /> -->
    <!-- Spring 依赖注入:自动注入properties文件中的配置 -->
    <bean id="propertiesReader"
        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>classpath:a.properties</value>
                <value>classpath:b.properties</value>
                <value>classpath:c.properties</value>
            </list>
        </property>
    </bean>
    <!-- 引用一个 本地文件 -->
    <context:property-placeholder location="classpath:jdbc.properties" />

    <!-- 配置c3p0 -->
    <bean id="hibernateDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
        destroy-method="close">
        <property name="driverClass" value="${db_driver}" />
        <property name="jdbcUrl" value="${db_url}" />
        <property name="user" value="${db_username}" />
        <property name="password" value="${db_password}" />
        <!-- 最大空闲时间,超过空闲时间的连接将被丢弃。为0或负数则永不丢弃。默认为0 -->
        <property name="maxIdleTime" value="60" />
        <!-- 连接池中保留的最小连接数。 -->
        <property name="minPoolSize" value="5" />
        <!-- 连接池中保留的最大连接数。默认为15 -->
        <property name="maxPoolSize" value="30" />
        <!-- 隔多少秒检查所有连接池中的空闲连接,默认为0表示不检查 -->
        <property name="idleConnectionTestPeriod" value="60" />
        <!-- 初始化时创建的连接数,应在minPoolSize与maxPoolSize之间取值。默认为3 -->
        <property name="initialPoolSize" value="10" />
        <!-- 当连接池中的连接用完时,C3P0一次性创建新连接的数目 -->
        <property name="acquireIncrement" value="5" />
        <!-- 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
        <property name="acquireRetryAttempts" value="30" />
        <property name="acquireRetryDelay" value="100" />
        <!-- 获取连接失败将会引起所有等待获取连接的线程抛出异常。 但是数据源仍有效保留,并在下次调 用getConnection()的时候继续尝试获取连接。
            如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。默认为 false -->
        <property name="breakAfterAcquireFailure" value="true" />
    </bean>

    <bean id="hibernateSessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="hibernateDataSource" />
        <property name="packagesToScan">
            <list>
                <value>com.trustsaving.*.po</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.format_sql">true</prop>
                <prop key="hibernate.jdbc.batch_size">50</prop>
            </props>
        </property>
    </bean>
    <!-- 织入切面 -->
    <aop:aspectj-autoproxy expose-proxy="true" />

    <!-- 配置事务的传播特性 -->
    <tx:advice id="txAdvice" transaction-manager="hibernateTransactionManager">
        <tx:attributes>
            <tx:method name="add*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="account*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="create*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="edit*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="save*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="updateRepay" propagation="REQUIRES_NEW"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="update*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="modify*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="del*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="get*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="find*" propagation="SUPPORTS"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="queryDebt" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="query*" propagation="SUPPORTS"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="join*" propagation="SUPPORTS"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="remove*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="buy*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="write*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="publish*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="run*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="repay*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="send*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="apply*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="reject*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="end*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="submit*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="login" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="lock*" propagation="NEVER"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="unLock*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="checkOut*" propagation="REQUIRES_NEW"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="complete*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="suspend*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="restore*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="reassign*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="reject*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="active*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="apply*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="cancel*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="check*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="merge*" propagation="REQUIRED"
                rollback-for="Exception,RuntimeException" />
            <tx:method name="*" read-only="true" />
        </tx:attributes>
    </tx:advice>

    <!--哪些类的哪些方法参与事务 -->
    <aop:config>
        <aop:pointcut id="fooServiceOperation"
            expression="execution(* com.trustsaving..service..*ServiceImpl.*(..))" />
        <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceOperation" />
    </aop:config>

    <!-- <tx:annotation-driven transaction-manager="hibernateTransactionManager"
        /> -->

    <bean id="hibernateTransactionManager"
        class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="hibernateSessionFactory" />
    </bean>
</beans>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值