不好意思 ,该文章 有bug ,aop 注入 总是 走 default ,目前 没有解决 ,,,知道出错情况 科 回复。。。
自动生成 代码 (自动生成mysql+springmvc + mybatis )
http://download.csdn.net/download/knight_black_bob/9226373
mybatis+mysql+springmvc + multidatasource 多数据源
下载 : http://download.csdn.net/download/knight_black_bob/9227505
结果显示 :
applicationContext.xml
<?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:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" 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.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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/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/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-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/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> <context:annotation-config /> <aop:aspectj-autoproxy /> <context:component-scan base-package="cn.com.oneweb" /> <context:component-scan base-package="cn.com.twoweb" /> <context:component-scan base-package="cn.com.baoy.controller" /> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:db-config.properties"/> </bean> <bean id="dataSourceOne" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${one.jdbc.driverClass}" /> <property name="jdbcUrl" value="${one.jdbc.url}" /> <property name="user" value="${one.jdbc.user}" /> <property name="password" value="${one.jdbc.password}" /> <property name="initialPoolSize" value="${one.jdbc.initialPoolSize}" /> <property name="minPoolSize" value="${one.jdbc.minPoolSize}" /> <property name="maxPoolSize" value="${one.jdbc.maxPoolSize}" /> <property name="checkoutTimeout" value="${one.jdbc.checkoutTimeout}" /> <property name="idleConnectionTestPeriod" value="${one.jdbc.idleConnectionTestPeriod}" /> <property name="maxIdleTime" value="${one.jdbc.maxIdleTime}" /> <property name="maxStatements" value="${one.jdbc.maxStatements}" /> <property name="testConnectionOnCheckout" value="${one.jdbc.testConnectionOnCheckout}" /> </bean> <bean id="dataSourceTwo" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${two.jdbc.driverClass}" /> <property name="jdbcUrl" value="${two.jdbc.url}" /> <property name="user" value="${two.jdbc.user}" /> <property name="password" value="${two.jdbc.password}" /> <property name="initialPoolSize" value="${two.jdbc.initialPoolSize}" /> <property name="minPoolSize" value="${two.jdbc.minPoolSize}" /> <property name="maxPoolSize" value="${two.jdbc.maxPoolSize}" /> <property name="checkoutTimeout" value="${two.jdbc.checkoutTimeout}" /> <property name="idleConnectionTestPeriod" value="${two.jdbc.idleConnectionTestPeriod}" /> <property name="maxIdleTime" value="${two.jdbc.maxIdleTime}" /> <property name="maxStatements" value="${two.jdbc.maxStatements}" /> <property name="testConnectionOnCheckout" value="${two.jdbc.testConnectionOnCheckout}" /> </bean> <bean id="dataSourceInterceptor" class="cn.com.dynamic.DataSourceInterceptor" /> <aop:config> <aop:aspect id="dataSourceAspect" ref="dataSourceInterceptor"> <aop:pointcut id="daoOne" expression="execution(* cn.com.oneweb.*.*(..))" /> <aop:pointcut id="daoTwo" expression="execution(* cn.com.twoweb.*.*(..))" /> <aop:before pointcut-ref="daoOne" method="setdataSourceOne" /> <aop:before pointcut-ref="daoTwo" method="setdataSourceTwo" /> </aop:aspect> </aop:config> <bean id="dataSource" class="cn.com.dynamic.DynamicDataSource"> <property name="targetDataSources"> <map key-type="java.lang.String"> <entry value-ref="dataSourceOne" key="dataSourceOne"></entry> <entry value-ref="dataSourceTwo" key="dataSourceTwo"></entry> </map> </property> <property name="defaultTargetDataSource" ref="dataSourceOne"> </property> </bean> </beans>
applicationContext-mybatis.xml
<?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:cache="http://www.springframework.org/schema/cache" xmlns:context="http://www.springframework.org/schema/context" xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task" 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.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-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/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/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-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/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"> <!-- 创建SqlSessionFactory,同时指定数据源 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:cn/com/*/mapper/*.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.com.*.dao" /> </bean> </beans>
springMVC.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" 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:oxm="http://www.springframework.org/schema/oxm" 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.xsd http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"> <!-- 激活Spring注解方式:自动扫描,并注入bean --> <context:component-scan base-package="cn.com.baoy.controller" /> <!-- 配置视图解析 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="" p:suffix=".jsp"> <property name="order" value="0" /> </bean> <!-- 默认的注解映射的支持 --> <mvc:annotation-driven/> </beans>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> <display-name></display-name> <!-- welcome page --> <welcome-file-list> <welcome-file>/back/jsp/main.jsp</welcome-file> </welcome-file-list> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- springmvc --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springMVC-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
db-conf.properties
one.jdbc.driverClass=com.mysql.jdbc.Driver one.jdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8 one.jdbc.user=root one.jdbc.password=root one.jdbc.initialPoolSize=5 one.jdbc.minPoolSize=5 one.jdbc.maxPoolSize=20 one.jdbc.checkoutTimeout=20000 one.jdbc.idleConnectionTestPeriod=120 one.jdbc.maxIdleTime=60 one.jdbc.maxStatements=100 one.jdbc.testConnectionOnCheckout=false two.jdbc.driverClass=com.mysql.jdbc.Driver two.jdbc.url=jdbc:mysql://localhost:3306/database2?useUnicode=true&characterEncoding=utf-8 two.jdbc.user=root two.jdbc.password=root two.jdbc.initialPoolSize=5 two.jdbc.minPoolSize=5 two.jdbc.maxPoolSize=20 two.jdbc.checkoutTimeout=20000 two.jdbc.idleConnectionTestPeriod=120 two.jdbc.maxIdleTime=60 two.jdbc.maxStatements=100 two.jdbc.testConnectionOnCheckout=false