SSM整合过程(配置文件版) Struts2+Spring+Mybatis

一、SSM整合环境搭建(配置文件版) Struts2+Spring+Mybatis

1.创建web项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.补全开发环境

在这里插入图片描述
在这里插入图片描述

3.引入SSM整合(配置文件版) Struts2+Spring+Mybatis 相关依赖

    <!-- 引入javaEE规范 -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>

    <!-- 引入spring相关的jar -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aspects</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>4.3.2.RELEASE</version>
    </dependency>
    
    <!-- 引入mybatis相关jar -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.8</version>
    </dependency>
    
    <!-- 引入mybatis 与 spring 整合jar -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.2</version>
    </dependency>
    
    <!-- 引入struts2 -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-core</artifactId>
      <version>2.3.16</version>
    </dependency>
    
    <!--  引入struts2 与spring的整合jar -->
    <dependency>
      <groupId>org.apache.struts</groupId>
      <artifactId>struts2-spring-plugin</artifactId>
      <version>2.3.16</version>
    </dependency>
    
    <!-- 引入mysql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.38</version>
    </dependency>
    
    <!-- 引入dbcp -->
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
    </dependency>
    
    <!-- 引入fastjson -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>1.2.47</version>
    </dependency>
    
    <!-- 引入log4j -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.15</version>
    </dependency>
    
    <!--引入jstl标签-->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.2</version>
    </dependency>

4.引入spring的配置文件

 命名:随意 建议是:applicationContext.xml
 位置:src/main/resources 中

在这里插入图片描述
在这里插入图片描述

5.配置web.xml配置文件

1.struts2的核心过滤器 	(开启struts2框架)
2.Spring的监听工厂 	(创建Spring工厂)

在这里插入图片描述

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <!--读取spring的配置文件  创建工厂-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>

  <!--struts2核心过滤器-->
  <filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <!--spring监听工厂-->
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  
</web-app>

二、SSM整合开发步骤(配置文件版) Struts2+Spring+Mybatis

1.建表

在这里插入图片描述

2.建实体类

在这里插入图片描述

3.定义DAO接口

在这里插入图片描述

4.Mapper文件实现DAO接口

4.1 创建Mapper文件

在这里插入图片描述
在这里插入图片描述

4.2 实现DAO接口

在这里插入图片描述

5.spring配置文件中配置与mybatis的相关内容

5.1 创建小配置文件

在这里插入图片描述
在这里插入图片描述 以 .properties结尾的文件

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/数据库名
name=账号
password=密码

5.2 spring配置文件中内容

在这里插入图片描述

<?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 http://www.springframework.org/schema/context/spring-context.xsd">


    <!--读取小配置文件-->
    <context:property-placeholder location="jdbc.properties"></context:property-placeholder>

    <!--配置数据源-->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${driver}"></property>
        <property name="url" value="${url}"></property>
        <property name="username" value="${name}"></property>
        <property name="password" value="${password}"></property>
    </bean>

    <!--创建SqlSessionFactory-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--依赖数据源-->
        <property name="dataSource" ref="dataSource"></property>
        <!--起别名-->
        <property name="typeAliasesPackage">
            <value>com.baizhi.entity</value>
        </property>
        <!--Mapper文件注册-->
        <property name="mapperLocations">
            <list>
                <value>classpath:com/zsq/mapper/*Mapper.xml</value>
            </list>
        </property>
    </bean>

    <!--自动创建DAO实现类对象-->
    <bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage">
            <value>com.zsq.dao</value>
        </property>
    </bean>

</beans>

6.定义service接口

在这里插入图片描述
在这里插入图片描述

7.实现service接口 并在spring配置文件中配置相关信息

在这里插入图片描述
在这里插入图片描述
配置spring配置文件中相关信息
在这里插入图片描述

<!--配置service实现类对象-->
<bean id="userService" class="com.zsq.serviceImpl.UserServiceImpl">
    <property name="userDAO" ref="userDAO"></property>
</bean>

8.引入事务的额外功能类 并对事务进行描述

在这里插入图片描述

<!--引入额外功能事务相关代码-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!--事务控制依赖于数据源-->
    <property name="dataSource" ref="dataSource"></property>
</bean>

<!--描述事务相关属性-->
<tx:advice id="dstm" transaction-manager="transactionManager">
    <tx:attributes>
        <!--增删改使用默认的事务属性 以modify命名-->
        <tx:method name="modify*"/>
        <!--查询使用 propagation="SUPPORTS" read-only="true"-->
        <tx:method name="*" propagation="SUPPORTS" read-only="true" />
    </tx:attributes>
</tx:advice>

<aop:config>
    <!--配置切入点-->
    <aop:pointcut id="pc" expression="execution(*  com.zsq.service..*.*(..))"></aop:pointcut>
    <!--组装切面-->
    <aop:advisor advice-ref="dstm" pointcut-ref="pc"></aop:advisor>
</aop:config>

9.开发Action

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值