diff options
Diffstat (limited to 'webservice/src/main/resources/spring-mybatis.xml')
-rw-r--r-- | webservice/src/main/resources/spring-mybatis.xml | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/webservice/src/main/resources/spring-mybatis.xml b/webservice/src/main/resources/spring-mybatis.xml new file mode 100644 index 0000000..7abc6ae --- /dev/null +++ b/webservice/src/main/resources/spring-mybatis.xml @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" + xmlns:util="http://www.springframework.org/schema/util" + 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/util + http://www.springframework.org/schema/util/spring-util-4.0.xsd"> + + <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> + <property name="driverClassName" value="com.mysql.jdbc.Driver" /> + <property name="url" value="jdbc:mysql://localhost:3306/appmarket?characterEncoding=UTF-8&allowMultiQueries=true" /> + <property name="username" value="root" /> + <property name="password" value="123456" /> + </bean> + + <bean name="paginationInterceptor" class="app.market.persistence.interceptor.PaginationInterceptor"></bean> + + <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> + <property name="dataSource" ref="dataSource"></property> + <property name="configLocation" value="classpath:mybatis-config.xml" /> + <property name="plugins"> + <list> + <ref bean="paginationInterceptor" /> + </list> + </property> + </bean> + + <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> + <property name="basePackage" value="app.market.persistence.mapper"></property> + <property name="sqlSessionFactory" ref="sqlSessionFactory"></property> + </bean> + + <context:component-scan base-package="app.market.core.*"> + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> + </context:component-scan> + + <tx:annotation-driven transaction-manager="txManager" /> + + <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> + <property name="dataSource" ref="dataSource" /> + </bean> + + <aop:config> + <aop:pointcut id="fooServiceMethods" expression="execution(public * app.market.core.*.impl.*(..))" /> + <aop:advisor advice-ref="txAdvice" pointcut-ref="fooServiceMethods" /> + </aop:config> + + <tx:advice id="txAdvice" transaction-manager="txManager"> + <tx:attributes> + <tx:method name="select*" read-only="true" /> + <tx:method name="get*" read-only="true" /> + <tx:method name="count*" read-only="true" /> + <tx:method name="insert*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" /> + <tx:method name="save*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" /> + <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" /> + <tx:method name="delete*" propagation="REQUIRED" rollback-for="java.lang.RuntimeException" /> + </tx:attributes> + </tx:advice> +</beans>
\ No newline at end of file |