SSM开发JavaWeb项目之Spring.xml文件的配置

Spring.xml

写在前面:spring的配置文件默认名称是applicationContext.xml,这个名字不是固定的,都是可以随便更改的。因为是SSM框架,所以这个spring的配置文件是需要整合springmvc和mybatis的,又因为spring可以和springmvc无缝衔接的原因,所以这个配置文件中都是关于spring和mybatis的配置。

1.容器扫描注解包的配置,因为是注解开发,所以需要告诉容器注解所在包的路径,Repository是Dao层需要的注解,Service是Service层需要的注解,Controller的注解是再springmvc文件中配置的。

<context:component-scan base-package="cn.itlaobing">
        <context:include-filter type="annotation"
            expression="org.springframework.stereotype.Component" />
        <context:include-filter type="annotation"
            expression="org.springframework.stereotype.Repository" />
        <context:include-filter type="annotation"
            expression="org.springframework.stereotype.Service" />
    </context:component-scan>

2.数据源的配置,也是数据库连接池的配置,创建了一个id为dataSource的Bean,为了后面sqlSessionFactory使用它。

<!-- 加载配数据源 配置文件 db.properties -->
     <context:property-placeholder location="classpath:config/db.properties" /> 

    <!-- 配置 C3P0 数据源  数据库连接池 -->

     <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <!-- 配置数据库的四要素  -->    
这里四要素是通过外部db.properties文件导入进来的,也可以直接写在下面。
        <property name="driverClass" value="${datasource.connection.driver_class}"/>
        <property name="jdbcUrl" value="${datasource.connection.url}"/>
        <property name="user" value="${datasource.connection.username}"/>
        <property name="password" value="${datasource.connection.password}"/>
    </bean> 

3. 获取 sqlSessionFactory 工厂,通过工厂才能获得我们想要的sqlsession,蓝色部分是使用@select(),@insert等注解开发时的配置,绿色部分是使用mapper.xml映射文件时的配置,两种方法都可以,根据不同情况使用。

<!-- spring 通过 sqlSessionFactoryBean 获取 sqlSessionFactory 工厂类 -->
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        
<!--  使用mapper.xml文件书写sql语句时,需要扫描映射文件-->
        <!-- 扫描 po 包,使用别名 -->
        <!-- <property name="typeAliasesPackage" value="cn.itlaobing.entity"></property> -->
        <!-- 扫描映射文件 -->
        <!-- <property name="mapperLocations" value="classpath:config/mybatis/mapper/*.xml"></property> -->

    </bean>

4. 配扫描 dao 包,动态实现 dao 接口,注入到 spring 容器中。因为开发过程中创建的时Dao的接口文件,没有具体的接口实现文件,所以要动态的实现dao对象,将其放入容器中以便使用。

    <!-- 配置扫描 dao 包,动态实现 dao 接口,注入到 spring 容器中 .  -->
    <!-- 因为dao内是接口,并没有实现类,所以动态实现dao接口实际上就是使用了dao的动态代理对象。 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="cn.itlaobing.dao" />
        
      
 <!-- 注意使用 sqlSessionFactoryBeanName 避免出现spring 扫描组件失效问题 -->
        <!-- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> -->

    </bean>

5. 配置事务,查询功能不需要事务,增删改都需要涉及事务的提交和回滚。

    <!-- 事务管理器 (JDBC) -->
    <bean id="transactionManager" 
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean> 

    <!-- 启动声明式事务驱动 -->
     <tx:annotation-driven transaction-manager="transactionManager" /> 

以上就是对spring.xml文件的基本配置了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值