配置文件如下即可:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
<!-- 加载架构配置 -->
<context:property-placeholder location="classpath:frame.properties"/>
<!-- 用于处理静态资源访问 -->
<mvc:default-servlet-handler/>
<!-- 注解扫描配置 -->
<context:annotation-config/>
<context:component-scan base-package="com.sdt"/>
<import resource="classpath:spring-swagger.xml"/>
<!-- 用于处理静态资源访问 swagger-ui-->
<mvc:default-servlet-handler/>
<!-- swagger配置,生产环境置空SpringMVC Swagger Configuration -->
<bean class="com.sdt.eims.common.swagger.SwaggerConfig" />
<!-- SpringMVC注解支持 -->
<mvc:annotation-driven/>
<!-- 数据库连接配置(hikari) -->
<bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="minimumIdle" value="${hikari.minimumIdle}"/>
<property name="maximumPoolSize" value="${hikari.maximumPoolSize}"/>
<property name="idleTimeout" value="${hikari.idleTimeout}"/>
<property name="connectionTimeout" value="${hikari.connectionTimeout}"/>
<property name="maxLifetime" value="${hikari.maxLifetime}"/>
<property name="connectionTestQuery" value="${hikari.connectionTestQuery}"/>
<property name="autoCommit" value="${hikari.autoCommit}"/>
</bean>
<!-- 配置实体管理器工厂 -->
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="persistenceProvider">
<bean id="persistenceProvider" class="org.hibernate.ejb.HibernatePersistence" />
</property>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="generateDdl" value="true" />
<property name="database" value="MYSQL" />
</bean>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
<prop key="hibernate.cache.use_second_level_cache">${hibernate.cache.use_second_level_cache}</prop>
<prop key="hibernate.cache.region.factory_class">${hibernate.cache.region.factory_class}
</prop>
</props>
</property>
</bean>
<!-- JPA事务配置 -->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
</bean>
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true"/>
<!-- AOP配置 -->
<aop:aspectj-autoproxy proxy-target-class="true" />
<!-- 流程引擎配置 -->
<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration">
<property name="dataSource" ref="dataSource"/>
<property name="databaseType" value="mysql"/>
<property name="transactionManager" ref="transactionManager"/>
<property name="databaseSchemaUpdate" value="true"/>
<property name="jpaEntityManagerFactory" ref="entityManagerFactory"/>
<property name="jpaHandleTransaction" value="true"/>
<property name="jpaCloseEntityManager" value="true"/>
<property name="deploymentMode" value="single-resource"/>
<property name="activityFontName" value="宋体"/>
<property name="labelFontName" value="宋体"/>
<!--<property name="deploymentResources" value="classpath:flow/*.zip"></property>-->
</bean>
<!-- 流程引擎工厂类 -->
<bean id="processEngineFactory" class="org.activiti.spring.ProcessEngineFactoryBean">
<property name="processEngineConfiguration" ref="processEngineConfiguration"/>
</bean>
<!-- 流程引擎服务 -->
<bean id="repositoryService" factory-bean="processEngineFactory" factory-method="getRepositoryService"/>
<bean id="runtimeService" factory-bean="processEngineFactory" factory-method="getRuntimeService"/>
<bean id="formService" factory-bean="processEngineFactory" factory-method="getFormService"/>
<bean id="identityService" factory-bean="processEngineFactory" factory-method="getIdentityService"/>
<bean id="taskService" factory-bean="processEngineFactory" factory-method="getTaskService"/>
<bean id="historyService" factory-bean="processEngineFactory" factory-method="getHistoryService"/>
<bean id="managementService" factory-bean="processEngineFactory" factory-method="getManagementService"/>
<!-- 配置我的上下文获取类 -->
<bean id="springContextHolder" class="com.sdt.eims.business.workflow.utils.SpringContextHolder" lazy-init="false"/>
</beans>