Spring整合SSM项目(手把手教你整合)

SSM框架系列之Spring 超详解 二、Spring 1. 概念 (1)Spring是一个开源的轻量级的应用开发框架,其目的是用于简化企业级应用程序开发,降低开发者的开发难度; (2)Spring提供的IoC和AOP应用,可以将组件的耦合度降至最低(即解耦),便于系统日后的维护和升级; (3)Spring为系统提供了一个整体的解决方案,开发者可以利用它本身提供的功能外,也可以与第三方框架和技术整合应用,可以自由选择采用哪种技术进行开发。比如Spring整合SpringMVC、Spring整合MyBatis、Spring整合Struts2、Sp 阅读详情

目录

Spring整合SSM项目:

1.环境和架构准备:

数据库构造:

项目框架:

jdbc.properties

pom.xml

JDK

Maven

Tomcat

2.Spring整合MyBatis:

DataSource.class

MybatisConfig.class

SpringConfig

Mapper

User

MapperService

MapperServiceImpl

3.Spring整合SpringMVC:

ServletContainerInitial

SpringMVCConfig

SpringMVC

4.测试结果:

增加数据:

删除数据:

修改数据:

查询数据:


Spring整合SSM项目:

1.环境和架构准备:

数据库构造:

项目框架:

jdbc.properties

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
jdbc.username=root
jdbc.password=544547680

pom.xml

 
<?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">
    <modelVersion>4.0.0</modelVersion>
​
    <groupId>com.tang</groupId>
    <artifactId>SSM</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>
​
    <name>SSM 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.7</maven.compiler.source>
        <maven.compiler.target>1.7</maven.compiler.target>
    </properties>
​
    <dependencies>
​
        <!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-servlet-api -->
        <dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-servlet-api</artifactId>
            <version>10.0.4</version>
​
​
​
        </dependency>
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>jakarta.servlet.jsp</groupId>
            <artifactId>jakarta.servlet.jsp-api</artifactId>
            <version>3.0.0</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jakarta.servlet.jsp.jstl</artifactId>
            <version>3.0.1</version>
        </dependency>
​
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>
​
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
​
​
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
​
​
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>6.0.11</version>
        </dependency>
​
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.16</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>3.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.7</version>
        </dependency>
​
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>6.0.11</version>
        </dependency>
​
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.15.2</version>
        </dependency>
​
    </dependencies>
​
    <build>
        <finalName>SSM</finalName>
        <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>

JDK

Maven

Tomcat

2.Spring整合MyBatis:

DataSource.class
package com.tang.config;
​
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
​
public class DataSource {
​
    @Value("${jdbc.driver}")
    public String driver;
​
    @Value("${jdbc.url}")
    public String url;
​
    @Value("${jdbc.username}")
    public String username;
​
    @Value("${jdbc.password}")
    public String password;
​
    @Bean
    public javax.sql.DataSource ds(){
        DruidDataSource dds = new DruidDataSource();
        dds.setUrl(url);
        dds.setPassword(password);
        dds.setDriverClassName(driver);
        dds.setUsername(username);
        return dds;
    }
​
    @Bean
    public PlatformTransactionManager transactionManager(javax.sql.DataSource dataSource){
        DataSourceTransactionManager ds = new DataSourceTransactionManager();
        ds.setDataSource(dataSource);
        return ds;
    }
​
}
​

MybatisConfig.class

package com.tang.config;
​
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.mapper.MapperScannerConfigurer;
import org.springframework.context.annotation.Bean;
​
import javax.sql.DataSource;
​
public class MybatisConfig {
    @Bean
    public SqlSessionFactoryBean ssfb(DataSource ds){
        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
        ssfb.setDataSource(ds);
        return ssfb;
    }
​
    @Bean
    public MapperScannerConfigurer msc(){
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.tang.mapper");
        return msc;
    }
}
​

SpringConfig
package com.tang.config;
​
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.PropertySource;
import org.springframework.transaction.annotation.EnableTransactionManagement;
​
@Configuration
@ComponentScan({"com.tang.service"})
@PropertySource("classpath:jdbc.properties")
@Import({DataSource.class,MybatisConfig.class})
@EnableTransactionManagement
public class SpringConfig {
}
​

Mapper
package com.tang.mapper;
​
import com.tang.pojo.User;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
​
import java.util.List;
​
public interface Mapper {
​
    //插入元素
    @Insert("insert into test_table(id,age,name) values(#{id},#{age},#{name})")
    public void  save(User user);
​
    //删除元素
    @Delete("delete from test_table where id = #{id}")
    public void delete(int id);
​
    //修改元素
    @Update("update test_table set id = #{id} ,age = #{age}, name = #{name} where id = #{id} ")
    public void update(User user);
​
    //查询元素
    @Select("select * from test_table")
    public List<User> getAll();
​
    @Select("select * from test_table where id = #{id}")
    public User getUser(int id);
​
}
​

User
package com.tang.pojo;
​
public class User {
​
    private int id;
    private int age;
    private String name;
​
    public User(){
​
    }
​
    public User(int id, int age, String name) {
        this.id = id;
        this.age = age;
        this.name = name;
    }
​
    public int getId() {
        return id;
    }
​
    public void setId(int id) {
        this.id = id;
    }
​
    public int getAge() {
        return age;
    }
​
    public void setAge(int age) {
        this.age = age;
    }
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", age=" + age +
                ", name='" + name + '\'' +
                '}';
    }
}
​

MapperService
package com.tang.service;
​
import com.tang.pojo.User;
import org.apache.ibatis.annotations.Insert;
import org.springframework.transaction.annotation.Transactional;
​
import java.util.List;
​
@Transactional
public interface MapperService {
    /**
     * 保存
     * @param user
     * @return
     */
    public boolean save(User user);
​
​
    /**
     * 按id删除
     * @param id
     * @return
     */
    public boolean delete(Integer id);
​
    /**
     * 修改
     * @param user
     * @return
     */
    public boolean update(User user);
    /**
     * 按id查询
     * @param id
     * @return
     */
    public User getById(Integer id);
    /**
     * 查询全部
     * @return
     */
    public List<User> getAll();
}
​

MapperServiceImpl

package com.tang.service.imple;
​
import com.tang.mapper.Mapper;
import com.tang.pojo.User;
import com.tang.service.MapperService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
​
import java.util.List;
​
@Service
public class MapperServiceImpl implements MapperService {
    @Autowired
    private  Mapper mapper;
​
    @Override
    public boolean save(User user) {
        mapper.save(user);
        return true;
    }
​
    @Override
    public boolean delete(Integer id) {
        mapper.delete(id);
        return true;
    }
​
    @Override
    public boolean update(User user) {
        mapper.update(user);
        return true;
    }
​
    @Override
    public User getById(Integer id) {
       return mapper.getUser(id);
    }
​
    @Override
    public List<User> getAll() {
        return mapper.getAll();
    }
}

3.Spring整合SpringMVC:

ServletContainerInitial
package com.tang.controller;
​
import com.tang.config.SpringConfig;
import com.tang.config.SpringMVC;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
​
​
public class ServletContainerIniti extends AbstractAnnotationConfigDispatcherServletInitializer {
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[]{SpringConfig.class};
    }
​
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[]{SpringMVC.class};
    }
​
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }
}
​

SpringMVCConfig
package com.tang.controller;
​
import com.tang.pojo.Book;
import com.tang.pojo.User;
import com.tang.service.MapperService;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
​
import java.util.ArrayList;
import java.util.List;
​
@RestController
@RequestMapping("/users")
public class SpringMVCConfig {
    @Autowired
    private MapperService mapperService;
​
    @PostMapping
    public boolean save(User user){
        return mapperService.save(user);
    }
​
    @DeleteMapping("/{id}")
    public boolean delete(@PathVariable Integer id){
        return mapperService.delete(id);
    }
​
    @PutMapping
    public boolean update(User user){
        return mapperService.update(user);
    }
​
    @GetMapping("/{id}")
    public User getUser(@PathVariable Integer id){
        return mapperService.getById(id);
    }
​
    @GetMapping
    public List<User> getAll(){
        return mapperService.getAll();
    }
}
​

SpringMVC
package com.tang.config;
​
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
​
@Configuration
//@ComponentScan({"com.tang.service","com.tang.controller"})
@ComponentScan({"com.tang.controller"})
@EnableWebMvc
​
public class SpringMVC {
}
 

4.测试结果:

增加数据:

删除数据:

修改数据:

查询数据:

SSM整合 SpringMVC是一个表述层框架,可以处理浏览器发送的服务器中的请求,并且将一些数据响应到浏览器Mybatis是一个持久层框架,帮助我们来连接数据库,访问数据库,操作数据库中的数据Spring是一个整合型框架,可以使用他的两个核心,叫做IOC和AOP,通过IOC来管理对象,比如Mybatis里面操作数据库的sqlsession对象,可以直接交给spring来进行管理,通过Mybatis操作数据库的过程中,要想实现事务功能,我们也可以使用Spring中AOP的一个重要应用,叫做声明式事务来实现。 阅读详情

相关推荐

spyglass之功耗分析

用于功耗分析的软件除了ptpx外,spyglass也可以。ptpx的功耗分析是基于netlist(网表)进行的,一般用于分析综合后的pre功耗和P&R后的post功耗,但这已经是项目进行到比较后期了,如果后期发现功耗数据与我们目标功耗相差较大,则意味着需要功耗优化,这时有可能会将项目计划节点延迟。如果在前期designer可以获得设计模块的功耗数据,可提早优化功耗,spyglass则为designer提供了一个很好的手段去评估功耗,从而提前优化功耗。

u011974971的博客 9195

SSM与Spring

前言 本文内容旨在快速了解Spring中各项注解的作用,方便下一步Springboot的学习。 Spring @Required 注释应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。直接的理解就是,如果你在某个java类的某个set方法上使用了该注释,那么该set方法对应的属性在xml配置文件中必须被设置,否则就会报错。 @Autowired 注释可以在 se

hexo-github建立中出现的问题 1793

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

Dify Rerank 模型配置全流程解析:从报错定位到代码实现

engchina的专栏 4470

spring_ssm整合【一】

ssm 整合

xiatianit的博客 849

Docker离线部署OpenWebUI操作步骤

docker离线部署openwebui

m0_49333265的博客 4347

DCDC: 前馈电容优化环路稳定性的设计与验证方法

本文深入探讨了DCDC转换器中前馈电容对环路稳定性的优化设计与验证方法。通过分析前馈电容的作用原理、选型计算和实验验证,详细介绍了如何利用穿越频率和相位裕度等关键参数提升系统性能。文章还提供了实用的设计经验和问题排查技巧,帮助工程师在实际应用中实现DCDC转换器的最佳稳定性。

weixin_42531516的博客 438

Spring MVC-SSM整合

SSM整合

m0_71212413的博客 603

html python mysql交互_干货!Python与MySQL数据库的交互实战

安装PyMySQL库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql;假如这种方式还是安装不上,就用如下链接找一个合适的安装包,进行安装,这个就不细说了。https://www.lfd.uci.edu/~gohlke/pythonlibs/使用Python连接MySQL数据库1)六个常用的连接参数参数...

weixin_31043555的博客 1560

【SpringMVC】SSM整合

SSM整合以及功能模块开发完成后,接下来,我们在上述案例的基础上分析下有哪些问题需要我们去解决下。在Controller层增删改返回给前端的是boolean类型数据在Controller层查询单个返回给前端的是对象在Controller层查询所有返回给前端的是集合对象目前我们就已经有三种数据类型返回给前端,如果随着业务的增长,我们需要返回的数据类型会越来越多。

Javascript_tsj的博客 5002

yolov8 转华为昇腾om脚本

yolov8 转华为昇腾om脚本

jacke121的专栏 1601

HALCON机器视觉之结合LMI Gocator 5504进行手机折叠屏异物、折痕和胶体检测(基于C# + HALCON)

手机折叠屏是一种创新的屏幕技术,它允许屏幕在一定程度上进行折叠,从而在便携性和屏幕尺寸之间取得平衡。这种屏幕通常由多层材料组成,包括柔性显示层、保护层和胶水层等。本文将详细介绍如何使用C#编程语言,结合HALCON和LMI Gocator 5504来实现手机折叠屏的异物、折痕和胶体检测。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 9317

手把手教你搭建Maven项目整合SSM框架(spring+springmvc+mybatis)

环境准备: IDE:Eclipse 数据库:MYSQL8.0 JAVA:JDK1.8 一、新建MAVEN项目 File→New→Maven Project→NewMaven project Group Id: com.ssm Artifacrt Id: SSMdemo 二、声明依赖(pom.xml) &lt;project xmlns="http://maven.apach...

小魑魅的博客 2051

UG\NX二次开发 替换部件引用集UF_ASSEM_replace_refset

替换部件引用集UF_ASSEM_replace_refset,需要替换成“完整部件(Entire Part)”需要第三个参数传入空指针或者空字符串。

王牌飞行员_里海的博客 253

带你一篇文章搞定 SSM+MybatisPlus 整合

本片文章手把手带你大家SSM框架,运用MybatisPlus进行快速实现增删改查功能,SpringMvc层进行前后端交互,全篇高能,不要拉下每一个步骤哦~

2201_75550069的博客 1025

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mysql 多条合并分页_SSM框架简单的整合并实现分页查询

手把手教你入门SSM框架开发关于SSM框架环境搭建,请点击这里前往我的博客:SSM框架整合之环境搭建 由于本项目采用了maven,关于IDEA搭建maven项目过程请点击这里前往我的博客:maven起步如果觉得不错就点击右上角star鼓励一下作者吧!关于项目测试环境后端:spring+mybatis+springmvc前端:bootstrap+Font Awesome图标集测试环境:IDEA + ...

weixin_28699983的博客 671

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

手把手教你 SSM 整合(非常非常非常非常非常详细)

SSM 整合   整合的思路是:    Spring管理持久层的mapper。    Spring管理业务层的service,service可以调用mapper接口。Spring进行事物控制。    Spring管理表现层的Handler,handler可以调用service接口。 工程创建    创建Maven工程–>create for archtype–>webapp 创建项目结...

越过山丘 3万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

SSM整合——简单的小项目实战

SSM整合——简单的小项目实战

贝尔摩德苦艾酒 2万+

手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis

小疯手把手带你整合SpringMVC+Spring+MyBatis三大框架,俗称SSM,用它完全代替传统的SSH框架,把它们最优雅的一面发挥出来。整合配置结束后,会有一个应用实例“图书管理系统”带给大家,希望能快速上手这个框架!

小疯的代码健身房 62万+

SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)

使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重新搭建了一次,而且比项目搭建的要更好一些。以前解决问题的过程和方法并没有及时记录,以后在自己的小项目中遇到我再整理分享一下。这次,先说说三大框架整合过程。个人认

在路上 64万+

手把手整合SSM项目(附源码)

学完了SSM框架,是时候来一波核心的总结了,力求做到不看视频,直接回忆起每一个步骤。所以这是一篇总结的博文。 SSM是大部分人学习Java的一条必经之路,在此之前我对整合步骤也是模棱两可的,于是我就写下了这篇博客,想用最通俗文字、最直观的数字和图片帮助我也帮助你来串一串整个过程。加油!!! 写作初衷,我最开始为了网上找一个项目应付学校的实验作业,可是网上转了一圈,发现要不就是不适合,要不就是看...

持续Java学习中 5776

SSM的整合项目(详细)

项目场景: 问题描述: 提示:这里描述项目中遇到的问题: 例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据 APP 中接收数据代码: @Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); } 原因分析: 提示:这里填写问题的分析: 例如:Handler 发送消息有.

weixin_54721820的博客 1万+

SSM框架整合思想及步骤

SSM框架即是将SpringMVC框架、Spring框架、MyBatis框架整合使用。以简化在web开发中繁琐、重复的操作,让开发人员的精力专注于业务处理的开发上。ssm框架根据SpringMVC、Spring、MyBatis三者各自的特性及应用场景对其操作的的业务进行了分割,降低了耦合性。SpringMVC框架位于Controller层,主要为接收用户发起的请求,在接收请求后可进行一定处理(如:通过拦截器的信息验证处理)。在通过处理后SpringMVC会根据请求的路径将请求分发到对应的Controller

发果叁 1万+

【手把手教你整合SSM项目并且完成入门项目到成功运行!!!】

从0开始完成一个SSM

qq_45868160的博客 6409

SSM项目小例子,SSM整合图文详细教程

首先我们来搭建一个SSM项目,同时也是SSM项目整合哦!环境:idea2019 、maven、jdk1.8创建一个maven项目,直接next现在还不是一个web项目项目右键,选择这个我们把web勾上这样就是一个标准的web项目了,比起maven自建的我觉得好看,普普通通的maven项目看起来最顺眼项目就就创建好了,我们运行下,运行之前我们放个login.jsp页面,随便在网上找了一个页面: 打包运行项目,手把手教你,如果没有打包,自己打个包,我们看到没有lib目录,后面我们项目的依赖不一定会加进来,现在没

hello_list的博客 5953

基于spring的ssm整合

基于spirng框架的ssm整合,使用spring6整合mybatis框架,springmvc框架,spring框架。含代码,配置,运行结果。

. 2025

Java-Spring入门指南(二十三)俩万字超详细讲解利用IDEA手把手教你实现SSM(Spring + SpringMVC + MyBatis)整合,并构建第一个SSM基础系统

开始前先确保以下工具和环境已就绪: 依赖必须使用相同 作用:包含SpringMVC全部核心功能,如、、视图解析器等,是MVC架构的基础。 作用:提供、等Servlet规范接口,SpringMVC基于此运行;表示由Tomcat等容器提供,无需打包。 作用:支持JSP视图技术的语法解析,若项目用JSP展示页面则必需;表示由Tomcat提供。 作用:提供MyBatis的ORM核心功能,如SQL映射、会话管理等,是数据访问层的基础。 作用:实现MyBatis与Spring的无缝整合,让My

2402_83322742的博客 3235
上一篇: 整合SSM报错总结:
下一篇: SSM项目的异常处理机制:
YoYoYoWhatIsUp
博客等级 码龄4年 6844粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值