zoukankan      html  css  js  c++  java
  • 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"/>
  • 相关阅读:
    zookeeper基本知识
    kafka常见问题
    模板设计模式
    Zookeeper的未授权访问漏洞解决
    Kubernetes准入控制器PodNodeSelector、PodTolerationRestriction
    Kubernetes 基于 Namespace 的物理队列实现,即Namespace下的Pod和Node的强绑定
    银行卡LUHM校验算法(C++)(转)
    银行卡LUHM校验算法(C++)(转)
    Unity导弹自动追踪算法(转)
    基于MicroChip ATmega4808的阿里云IOT连接开发套件方案(转)
  • 原文地址:https://www.cnblogs.com/xiaoxiao1120/p/13304610.html
Copyright © 2011-2022 走看看