圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)

三、Spring层


1.spring-dao.xml


Spring整合Mybatis的相关配置文件;整合dao层

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
    <!--1.关联数据库配置文件-->
    <context:property-placeholder location="classpath:database.properties"/>
    <!--2.连接池
        dbcp:半自动化操作,不能自动连接
        c3p0:自动化操作,可以自动化的加载配置文件,并且可以自动设置到对象中
        druid:
        hikari:
    -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${driver}"/>
        <property name="jdbcUrl" value="${url}"/>
        <property name="user" value="${user}"/>
        <property name="password" value="${password}"/>

        <!-- c3p0连接池的私有属性 -->
        <property name="maxPoolSize" value="30"/>
        <property name="minPoolSize" value="10"/>
        <!-- 关闭连接后不自动commit -->
        <property name="autoCommitOnClose" value="false"/>
        <!-- 获取连接超时时间 -->
        <property name="checkoutTimeout" value="10000"/>
        <!-- 当获取连接失败重试次数 -->
        <property name="acquireRetryAttempts" value="2"/>
    </bean>

    <!--3.sqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--绑定Mybatis的配置文件-->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <!--4.配置dao接口扫描包,动态的实现了Dao接口可以注入到Spring容器中-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--注入sqlSessionFactory-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
        <!--要扫描的dao包-->
        <property name="basePackage" value="com.hxl.dao"/>
    </bean>
</beans>


  • 连接池


    • dbcp:半自动化操作,不能自动连接


    • c3p0:自动化操作,可以自动化的加载配置文件,并且可以自动设置到对象中


    • druid: hikari:

圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)


扫描上面的Factory,动态的扫描到beanName中


2.spring-service.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

    <!--1.扫描service下的包-->
    <context:component-scan base-package="com.hxl.service"/>

    <!--2.将我们的所有业务类,注入到SpringIOC容器中,可以通过配置或者注解实现-->
    <bean id="BookServiceImpl" class="com.hxl.service.BookServiceImpl">
        <property name="bookMapper" ref="bookMapper"/>
    </bean>

    <!--3.声明式事务配置-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!--注入数据源-->
        <property name="dataSource" ref="dataSource"/>
    </bean>
    <!--4.aop事务支持-->
</beans>


要用aop事务支持的话需要导入一个AOP的织入包aspectjweaver


3.解决配置文件不在一块的情况


这里要保证他们在一块,否则是整合不了的;


圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)


圈中的地方汇报红,就证明没有整合到一块。


解决爆红的方式有两种


1.通过idea,让他们在同一个上下文中,module中使他们都在一个application下


圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)


2.通过import引入进来


圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)

<import resource="classpath:spring-service.xml"/>


3.可以在applicationContext中增加

<import resource="classpath:spring-dao.xml"/>
<import resource="classpath:spring-service.xml"/>


4.业务类注入到Spring


可以通过配置spring-service.xml

<bean id="BookServiceImpl" class="com.hxl.service.BookServiceImpl">
        <property name="bookMapper" ref="bookMapper"/>
    </bean>


注解实现


圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(三)



上一篇:MySQL修改表结构(五)上


下一篇:圣诞节熬夜整理一套SSM模板,让你可以快速搭建环境(六)