<?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:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jpa="http://www.springframework.org/schema/data/jpa" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd"> <!-- 读入配置属性文件 --> <context:property-placeholder location="classpath:/dbconfig.properties,classpath:/application.properties"/> <!-- 持久化扫描 --> <context:component-scan base-package="com.rtrh.core.repository" /> <context:component-scan base-package="com.rtrh.projects" /> <!-- 注入shiro中需要的依赖 --> <context:component-scan base-package="com.team" /> <!-- 系统核心插件扫描 --> <context:component-scan base-package="com.rtrh.core.plugins" annotation-config="true"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!-- 系统通用模块扫描 --> <context:component-scan base-package="com.rtrh.common.modules" annotation-config="true"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!-- 核心security扫描 <context:component-scan base-package="com.rtrh.core.security" annotation-config="true"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> --> <context:component-scan base-package="com.rtrh.projects.modules" annotation-config="true"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan> <!-- Activates scanning of @Autowired --> <context:annotation-config /> <!-- 事件管理配置 --> <import resource="classpath*:/rtrh-event.xml" /> <!-- 文件库配置 --> <import resource="classpath*:/rtrh-filesystem.xml" /> <!-- 邮箱配置 --> <!-- <import resource="classpath*:/rtrh-email.xml" /> --> <!-- 短信配置 --> <import resource="classpath*:/rtrh-vcode.xml" /> <!-- 加解密配置 --> <import resource="classpath*:/rtrh-crypto.xml" /> <!-- 定时任务 --> <import resource="classpath*:/rtrh-schedule.xml" /> <!-- 数据源定义 --> <import resource="classpath*:/rtrh-datasource.xml" /> <import resource="classpath*:/rtrh-hibernate.xml" /> <import resource="classpath*:/rtrh-mybatis.xml" /> <import resource="classpath:/applicationContext-memcached.xml" /> <import resource="classpath:security/applicationContext-shiro.xml" /> <!-- 线程池 --> <bean id="threadPool" scope="prototype" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> <!-- 线程池维护线程的最少数量 --> <property name="corePoolSize" value="50" /> <!-- 线程池维护线程所允许的空闲时间 --> <property name="keepAliveSeconds" value="300000" /> <!-- 线程池维护线程的最大数量 --> <property name="maxPoolSize" value="2000" /> <!-- 线程池所使用的缓冲队列 --> <property name="queueCapacity" value="1000000" /> <property name="rejectedExecutionHandler"> <bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" /> </property> </bean> <!-- 方法拦截器,跟踪方法调用 --> <bean id="ExecutionMethodInterceptor" class="com.rtrh.core.spring.intercepter.ExecutionMethodInterceptor" /> <aop:config proxy-target-class="true"> <!-- !execution(* com.xxx.flipclass.sdk.client.interfaces..*.loginInfoService.*(..)) and (execution(* com.xxx.*.sdk.client.interfaces..*.*Client*.*(..)) || execution(* com.xxx.*.sdk.client.interfaces..*.*Service*.*(..))) --> <aop:pointcut id="ExecutionMethodPointcut" expression="execution(* com.rtrh.core.modules..*.*Manager.*(..))" /> <aop:advisor advice-ref="ExecutionMethodInterceptor" pointcut-ref="ExecutionMethodPointcut" /> </aop:config> <beans profile="development,test"> </beans> </beans>