5.Spring配置文件

来源:互联网 发布:安卓锁屏软件 编辑:程序博客网 时间:2024/06/14 04:13

这个项目Spring配置文件的名字:applicationContext.xml

说白了,spring就是作为容器,用来管理springmvc和mybatis之间的工作的。它其实就是程序中的一个桥梁或者说管理者,整个程序的运行都依靠spring来管理。用什么方法来管理呢?最常见的就是IOC了。

1.首先扫描包

<!-- 1.首先配置扫描包 --><context:component-scan base-package="com.lee">    <!-- 除了控制器,其他的都扫描 -->    <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>

2.配置数据源

由于数据源不是写死的,会选择MySQL,还会选择oracle等,所以在外部写一个配置文件。我这里命名为:dbconfig.proporties

jdbc.jdbcUrl=jdbc:mysql://localhost:3306/crudjdbc.driverClass=com.mysql.jdbc.Driverjdbc.user=rootjdbc.password=

然后配置数据源,然后引入dbconfig.proporties

<!-- 2.配置数据源 -->    <!--引入数据源的配置文件  -->    <context:property-placeholder location="path:dbconfig.proporties"/><bean id="pooledDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">    <property name="jdbcUrl" value="${jdbc.jdbcUrl}"/>    <property name="driverClass" value="${jdbc.driverClass}"/>    <property name="user" value="${jdbc.user}"/>    <property name="password" value="${jdbc.password}"/></bean>

3.配置和mybatis的整合

<!-- 3.配置和mybatis的整合 --><bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">    <property name="configLocation" value="path:mybatis-config.xml"/>    <property name="dataSource" ref="pooledDataSource"/>    <!-- 配置mapper文件的位置 -->    <property name="mapperLocations" value="path:mapper/*.xml"/></bean>

4. 配置扫描器,将mybatis的接口扫描到IOC容器中

<!-- 4.配置扫描器,将mybatis的接口扫描到IOC容器中 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">    <property name="basePackage" value="com.lee.dao"/></bean>

5.事务控制的配置

推荐博文:http://www.cnblogs.com/2027437606qq/p/5054459.html

<!-- 5.事务控制的配置 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="pooledDataSource"></property></bean><!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式)  -->    <aop:config>        <!-- 切入点表达式 -->        <aop:pointcut expression="execution(* com.lee.crud.service..*(..))" id="txPoint"/>        <!-- 配置事务增强 -->        <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>    </aop:config>    <!--配置事务增强,事务如何切入  -->    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>            <!-- 所有方法都是事务方法 -->            <tx:method name="*"/>            <!--以get开始的所有方法  -->            <tx:method name="get*" read-only="true"/>        </tx:attributes>    </tx:advice>