http://www.mybatis.org/spring/mappers.html
http://www.mybatis.org/spring/zh/mappers.html
<?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:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd"> <util:properties id="db" location="classpath:db.properties"></util:properties> <context:annotation-config /> <context:component-scan base-package="cn.zno" /> <bean id="dataSourceTest" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="#{db['jdbc.driverClassName']}" /> <property name="url" value="#{db['jdbc.url']}" /> <property name="username" value="#{db['jdbc.username']}" /> <property name="password" value="#{db['jdbc.password']}" /> <property name="defaultAutoCommit" value="true" /> </bean> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSourceTest" /> </bean> <tx:annotation-driven transaction-manager="txManager" /> <!-- ================= --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSourceTest" /> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="cn.zno.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean> <bean id="aService" class="cn.zno.service.AService"></bean> </beans>
关于 basePackage
第一,支持正则:
如果 value 为 com.lzkj.zsl.clubber.server.entity.*.mapper
会被解析成:classpath*:com/lzkj/zsl/clubber/server/entity/*/mapper/**/*.class
Find all resources that match the given location pattern via the Ant-style PathMatcher. Supports resources in jar files and zip files and in the file system.
org.springframework.core.io.support.PathMatchingResourcePatternResolver.findPathMatchingResources
第二,支持字符串数组:
String CONFIG_LOCATION_DELIMITERS = ",; ";
org.springframework.util.StringUtils.tokenizeToStringArray(this.basePackage, ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS)
举例:
value="com.xx,com.yy"
value="com.xx;com.yy;"
value="com.*.mapper"