81,091
社区成员
发帖
与我相关
我的任务
分享
<context:property-placeholder location="classpath*:/db.properties" />
<context:annotation-config />
<bean
class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
destroy-method="close">
<property name="driverClass" value="${database.driver}" />
<property name="jdbcUrl" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="idleConnectionTestPeriod" value="60" />
<property name="idleMaxAge" value="240" />
<property name="maxConnectionsPerPartition" value="10" />
<property name="minConnectionsPerPartition" value="5" />
<property name="partitionCount" value="3" />
<property name="acquireIncrement" value="2" />
<property name="statementsCacheSize" value="50" />
<property name="releaseHelperThreads" value="3" />
<property name="connectionTestStatement">
<value>select sysdate from dual</value>
</property>
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="zUnit" />
<property name="packagesToScan" value="com.hzzykj.z.entity.*" />
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform" value="${database.platform}" />
<property name="generateDdl" value="${database.generateDdl}" />
<property name="showSql" value="${database.showSql}" />
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="tManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="transactionTemplate"
class="org.springframework.transaction.support.TransactionTemplate">
<property name="transactionManager" ref="tManager" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!-- 事务执行方式 REQUIRED:指定当前方法必需在事务环境中运行, 如果当前有事务环境就加入当前正在执行的事务环境, 如果当前没有事务,就新建一个事务。 -->
<tx:method name="create*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="import*" propagation="REQUIRED" />
<!-- 指定当前方法以非事务方式执行操作,如果当前存在事务,就把当前事务挂起,等我以非事务的状态运行完,再继续原来的事务。 -->
<tx:method name="*" propagation="NOT_SUPPORTED" read-only="true" />
</tx:attributes>
</tx:advice>
<aop:config>
<!-- 切入点 -->
<aop:pointcut id="daoPointcut" expression="execution(* com.hzzykj.z.dao..*.*(..))" />
<aop:pointcut id="servicePointcut"
expression="execution(* com.hzzykj.z.service..*.*(..))" />
<aop:pointcut id="ctlPointcut" expression="execution(* com.hzzykj.z.web..*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="daoPointcut" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="servicePointcut" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="ctlPointcut" />
</aop:config>
<context:component-scan base-package="com.hzzykj.z.dao.*" />
<context:component-scan base-package="com.hzzykj.z.service.*" />
@PersistenceContext(name = "entityManagerFactory")
protected EntityManager entityManager;
public EntityManager getEntityManager() {
return this.entityManager;
}
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
@Entity
@Table(name = "T_System_User")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class User extends BaseHierarchyEntity<User>
<property name="packagesToScan" value="com.hzzykj.z.entity.*" />
<property name="dataSource" ref="dataSource" />
看看这。