<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:cache="http://www.springframework.org/schema/cache" xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd
                           http://www.springframework.org/schema/tx      http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
                           http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd
                           http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
	<context:component-scan base-package="com.lyms.platform" />
	<context:annotation-config />
	
	<bean id="configProperties"
		class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="locations">
			<list>
				<value>classpath:database.properties</value>
				<value>classpath:config.properties</value>
			</list>
		</property>
	</bean>
	<bean id="propertyConfigurer"
		class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
		<property name="properties" ref="configProperties" />
	</bean>
	<!-- Cache -->
	<cache:annotation-driven cache-manager="cacheManager" />
	<bean id="cacheManager" class="org.springframework.cache.support.SimpleCacheManager">
		<property name="caches">
			<set>
				<bean
					class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
					p:name="default" />
				<bean
					class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
					p:name="andCache" />
			</set>
		</property>
	</bean>
	<!--自动代理dao层-->
	<bean
		class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator" id="autoProxyCreator">
		<property name="beanNames" value="*Dao" />
		<property name="interceptorNames">
			<list>
				<value>dalInterceptor</value>
			</list>
		</property>
	</bean>
	<!-- -->
	<bean
			class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator" id="nameAutoProxyCreator">
		<property name="beanNames" value="*Mapper" />
		<property name="interceptorNames">
			<list>
				<value>mysqlDalInterceptor</value>
			</list>
		</property>
	</bean>

	<!-- dal层方法性能统计-->
	<bean id="mysqlDalInterceptor"
		  class="com.lyms.platform.common.perf.DalMethodInterceptor">
		<property name="threshold" value="100" />
	</bean>
	<!-- dal层方法性能统计-->
	<bean id="dalInterceptor"
		class="com.lyms.platform.common.perf.DalMethodInterceptor">
		<property name="threshold" value="50" />
	</bean> 

	<!-- <bean id="messageResolver" class="com.lyms.platform.common.core.resolve.MessageResolver" /> -->
	<import resource="spring-mongodb.xml" />
</beans>