码迷,mamicode.com
首页 > 移动开发 > 详细

applicationContext.xml详解

时间:2020-07-15 12:59:15      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:sql   manage   typealias   tis   nsa   led   产生   timeout   toc   

applicationContext.xml作为spring 全局配置文件,其配置内容也应该跟其作用相关;

Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,包括数据源、hibernate的SessionFactory、事务管理器等。

1.beans是applicationContext.xml的根元素,其包含所有子元素;

2.自动扫描,设置使用注解的类所在的包 主要是dao层和service层,剔除controller层注解扫描:

<context:component-scan base-package="zzj.lxy">
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>

3.配置数据库相关参数properties的属性:${url}

<context:property-placeholder location="classpath:porperties/jdbc.properties"/>

4.数据库连接池

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${jdbc.driver}"/>
        <property name="jdbcUrl" value="${jdbc.url}"/>
        <property name="user" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="maxPoolSize" value="${c3p0.maxPoolSize}"/>
        <property name="minPoolSize" value="${c3p0.minPoolSize}"/>
        <property name="autoCommitOnClose" value="${c3p0.autoCommitOnClose}"/>
        <property name="checkoutTimeout" value="${c3p0.checkoutTimeout}"/>
        <property name="acquireRetryAttempts" value="${c3p0.acquireRetryAttempts}"/>
    </bean>

5.配置SqlSessionFactory对象

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 扫描model包 使用别名 -->
        <property name="typeAliasesPackage" value="zzj.lxy.dao"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:zzj/lxy/dao/*.xml"/>
    </bean>

6.MapperScannerConfigurer扫描包下的mybatis的mapper接口,然后和mybatis的sqlxml映射文件产生代理对象,最后注入到springIoc容器里面

 <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 注入sqlSessionFactory -->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!-- 给出需要扫描Dao接口包 -->
        <property name="basePackage" value="zzj.lxy.dao"/>
    </bean>

7.配置事务管理器

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
    </bean>

8.配置基于注解的声明式事务

<tx:annotation-driven transaction-manager="transactionManager"/>

 

applicationContext.xml详解

标签:sql   manage   typealias   tis   nsa   led   产生   timeout   toc   

原文地址:https://www.cnblogs.com/xiaoxiao1120/p/13304610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!