SSM整合可以作为学习借鉴

本文详细介绍了SSM(Spring、SpringMVC、Mybatis)整合的全过程,包括配置Spring、SpringMVC、Mybatis,解决Tomcat乱码问题,进行Spring声明式事务管理,以及如何将整合后的代码上传至码云。通过实例展示了每个步骤,帮助读者理解和学习SSM整合。
摘要由CSDN通过智能技术生成

SSM整合概念说明

在这里插入图片描述

整合思路
  1. 编写Spring配置文件 测试是否成功
  2. 编写SpringMVC配置文件 测试是否成功
  3. 整合Spring和SpringMVC 测试
  4. 编写Mybati配置文件
  5. 整合mybatis和Spring 测试
  6. SSM三个一起整合 测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
点击Finish完成

在这里插入图片描述

可以看见文件目录结构,这里idea的bug原因,没有java跟resources目录,为了符合maven目录结构

在这里插入图片描述

选择其中的java跟resources目录,右键

在这里插入图片描述

在这里插入图片描述
创建一个Test包,这里,注意是在<font color="red>src上面创建
在这里插入图片描述
在这里插入图片描述
maven结构已经满足,引入依赖,相当于复制jar包到项目中

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <!-- pom版本的项目描述。-->
  <modelVersion>4.0.0</modelVersion>
  <!-- 坐标 -->
  <groupId>club.adger</groupId>
  <artifactId>ssm-project</artifactId>
  <version>1.0-SNAPSHOT</version>
  <!-- 打包方式 web项目 一定war包 其他为jar 如果是maven拆分聚合多模块,父工程一定是pom-->
  <packaging>war</packaging>

  <!-- 名字 可以删除 这两个-->
  <name>ssm-project Maven Webapp</name>
  <!-- FIXME change it to the project's website -->
  <url>http://www.example.com</url>

  <!-- 版本控制 -->
  <properties>
    <!-- 项目构建编译之后输出编码 -->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!-- 编译源代码的版本 -->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <!-- Spring版本 -->
    <spring.version>5.2.7.RELEASE</spring.version>
    <!-- 日志输出版本 -->
    <slf4j.version>1.7.30</slf4j.version>
    <log4j.version>1.2.12</log4j.version>
    <!-- 驱动版本 -->
    <mysql.version>5.1.6</mysql.version>
    <!-- mybatis版本 -->
    <mybatis.version>3.5.5</mybatis.version>
    <!-- 跳过单元测试 就是会不会编译测试类 -->
    <maven.test.skip>true</maven.test.skip>
  </properties>

  <dependencies>
    <!-- Spring AOP相关的技术 -->
    <dependency>
      <groupId>org.aspectj</groupId>
      <artifactId>aspectjweaver</artifactId>
      <version>1.9.5</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-aop</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- 容器 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- SpringMVC 依赖 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- Spring单元测试 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>${spring.version}</version>
    </dependency>
    <!-- Spring 事务 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- SpringJDBC模板技术 SpringTemplate-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring.version}</version>
    </dependency>

    <!-- 单元测试 -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <!-- 这里的 <scope></scope>代表maven中的 测试范围 表示依赖项目仅仅参与测试相关的工作,包括测试代码的编译,执行-->
      <scope>compile</scope>
    </dependency>

    <!-- mysql驱动包 -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>

    <!--
    servlet的依赖
    <scope>provided</scope>
    provided 避免 jar包 冲突 因为tomcat中也有servlet-api
    compile,缺省值,适用于所有阶段,会随着项目一起发布。
    provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
    runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
    test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
    system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
    -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.5</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.0</version>
      <scope>provided</scope>
    </dependency>
    <!-- jsp 表达式 -->
    <dependency>
      <groupId>jstl</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <!-- log start -->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>${log4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
    <!-- log end -->

    <!-- mybatis 需要的jar包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>${mybatis.version}</version>
    </dependency>
    <!-- mybatis整合Spring -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>1.3.0</version>
    </dependency>

    <!-- c3p0连接池的jar包-->
    <!-- https://mvnrepository.com/artifact/c3p0/c3p0 -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>ssm-project</finalName>
    <!-- maven插件 -->
    <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.1.0</version>
        </plugin>
        <!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.22.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.5.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.8.2</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
</project>

编写MVC模式的包,这里我已经提前写好了测试类

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

其中Service中写测试Spring环境的接口跟实现类,让Spring来管理这个Service

接口

package club.adger.service;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: Adger
 * @Date: 2020/07/01/7:34
 */
public interface TestService {
   
    void TestSpring();
}

实现类

package club.adger.service.impl;

import club.adger.service.TestService;
import org.springframework.stereotype.Service;

/**
 * Created with IntelliJ IDEA.
 *
 * @Auther: Adger
 * @Date: 2020/07/01/7:34
 */
@Service("testServiceImpl")
public class TestServiceImpl implements TestService {
   
    @Override
    public void TestSpring() {
   
        System.out.println("Spring环境成功");
    }
}

编写Spring配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi=<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值