applicationContext.xml詳解


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"/>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM