Java学习笔记----SSM框架整合

1. 创建Maven----Webapp项目

2. 补全maven项目的框架目录

    ============>     

3. 在pom.xml文件中添加相关依赖

4. 编写 SqlMapConfig.xml ( Mybatis相关配置文件 )

  大多配置被Spring整合,只需设置日志输出

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--设置日志输出语句,显示相应操作的sql语名-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

5. 编写 applicationContext_mapper.xml ( mapper层配置文件  、 SM整合 )

  1)读取属性文件

    <!-- 读取属性文件 -->
    <context:property-placeholder location="classpath:jdbc.properties"></context:property-placeholder>

  2)配置dataSource的bean

    <!-- 连接池dataSource -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="password" value="${jdbc.password}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="driverClassName" value="${jdbc.driverClassName}"></property>
        <property name="username" value="${jdbc.username}"></property>
    </bean>

  3)配置SqlSessionFactoryBean

    <!-- sqlsessionFactoryBean -->
    <bean class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 连接池 -->
        <property name="dataSource" ref="dataSource"></property>
        <!-- mybatis配置文件 -->
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
        <!-- 实体类简称 -->
        <property name="typeAliasesPackage" value="com.study.pojo"></property>
    </bean>

  4)绑定mapper

   <!-- mapper -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.study.mapper"></property>
    </bean>

6. 编写applicationContext_service.xml( service层配置文件 )

  1)Service层的包扫描

    <!-- 包扫描 -->
    <context:component-scan base-package="com.study.service.impl"></context:component-scan>

  2)事务相关

    a. 事务管理器

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

    b. 事务切面

    <!-- 事务切面 -->
    <tx:advice id="myadvice" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="*select*" read-only="true"/>
            <tx:method name="*search*" read-only="true"/>
            <tx:method name="*query*" read-only="true"/>
            <tx:method name="*get*" read-only="true"/>
            <tx:method name="*add*" propagation="REQUIRED"/>
            <tx:method name="*insert*" propagation="REQUIRED"/>
            <tx:method name="*update*" propagation="REQUIRED"/>
            <tx:method name="*remove*" propagation="REQUIRED"/>
            <tx:method name="*delete*" propagation="REQUIRED"/>
            <tx:method name="*set*" propagation="REQUIRED"/>
            <tx:method name="*change*" propagation="REQUIRED"/>
            <tx:method name="*" propagation="SUPPORTS"/>
        </tx:attributes>
    </tx:advice>

    c. 切入点+绑定切面

    <!-- 切入点+绑定切面 -->
    <aop:config>
        <aop:pointcut id="mycut" expression="execution(* com.study.service.impl.*.*(..))"/>
        <aop:advisor advice-ref="myadvice" pointcut-ref="mycut"></aop:advisor>
    </aop:config>

7. 编写springmvcConfig.xml ( springmvc相关配置文件 、controller层 )

  1)Controller层的包扫描

    <!-- 包扫描 -->
    <context:component-scan base-package="com.study.controller"></context:component-scan>

  2)视图解析器

    <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/jsp/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

  3)注解驱动

    <!-- 注解驱动 -->
    <mvc:annotation-driven></mvc:annotation-driven>

8. 编写web.xml

  1)编码过滤器

    <!-- 编码过滤器 -->
    <filter>
        <filter-name>encoding</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceRequestEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>forceResponseEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
<filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

  2)前端控制器 DispatcherServlet

    <!-- DispatcherServlet -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- 指定springmvc配置文件 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc_config.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

  3)自动加载Spring容器的 ContextLoaderListener 监听器

    <!-- 监听器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext_*.xml</param-value>
    </context-param>

 

posted @ 2022-05-18 17:25  __three  阅读(33)  评论(0)    收藏  举报