<?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:context="http://www/springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
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.springftamework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
">
<!-- 引入database.properties -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:database.properties</value>
</property>
</bean>
<!--
配置数据源加载文件 ID起别名 class引用封装类
替换掉了mybatis配置文件中的数据库配置部分
-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<!--引入数据库驱动 -->
<property name="driverClassName" value="${driver}"/>
<!-- 引入数据库地址 -->
<property name="url" value="${url}"/>
<!-- 引入数据库用户名 -->
<property name="username" value="${user}"/>
<!-- 引入数据库用户密码 -->
<property name="password" value="${password}"/>
</bean>
<!--
配置SqlSessionFactoryBean:创建SqlSessionFactoryBuilder ID起别名 class引用封装类
替换掉了mybatis中的创建实例部分以及 配置文件引用 ,SQL映射部分
-->
<bean id="SqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 引用数据源组件 -->
<property name="dataSource" ref="dataSource"/>
<!-- 由spring引用MyBatis 配置文件中的配置 -->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<!-- 配置SQL映射文件信息 -->
<!-- <property name="mapperLocations">
<list>
<value>classpath:cn/smbms/dao/**/*.xml</value>
</list>
</property> -->
</bean>
<!--
采用数据库映射器(MapperFactoryBean)的方式对数据库操作(高级 采用mybatis框架的dao层模式)
还有一种方式为采用SqlSessionTemplate实现数据库操作(较为低级 采用无框架普通java的dao层模式)
根据Mapper接口获取Mapper对象 它封装了原有的SqlSession.getMapper()功能的实现
-->
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<!-- 指定映射器 只能是接口类型 -->
<property name="mapperInterface" value="cn.smbms.dao.UserMapper"/>
<!-- 注入SqlSessionFactory以提供SqlSessionTemplate实例 -->
<property name="sqlSessionFactory" ref="SqlSessionFactory"/>
</bean>
<!--
自动扫描指定包下的Mapper接口 并将他们直接注册为MapperFactoryBean
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.smbms.dao"/>
</bean>
-->
<bean id="userService" class="cn.smbms.service.impl.UserServiceImpl">
<property name="userMapper" ref="userMapper"/>
</bean>
</beans>