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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: SSM框架整合—详细整合教程(Spring+SpringMVC+MyBatis)

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


✨博主介绍

MyBatis和Spring整合

1、整合原因

2、整合条件

3、整合入门

4、整合MyBatis现有配置

SpringMVC和Spring整合

1、整合理论

2、整合实战

💫点击直接资料领取💫


✨博主介绍


💂 个人主页:苏州程序大白


💂 个人社区:CSDN全国各地程序猿


🤟作者介绍:中国DBA联盟(ACDU)成员,CSDN全国各地程序猿(媛)聚集地管理员。目前从事工业自动化软件开发工作。擅长C#、Java、机器视觉、底层算法等语言。2019年成立柒月软件工作室,2021年注册苏州凯捷智能科技有限公司


💅 有任何问题欢迎私信,看到会及时回复


👤 微信号:stbsl6,微信公众号:苏州程序大白


💬如果文章对你有帮助,欢迎关注、点赞、收藏(一键三连)


🎯 想加入技术交流群的可以加我好友,群里会分享学习资料


MyBatis和Spring整合


1、整合原因


因为Spring中有强大的bean管理机制,解决了对象之间的耦合度,另外对于重用的对象,通过容器来管理比较方便,还提供了强大的事务处理机制。所以把重复的代码都交给spring去处理,也可以提高代码的灵活性。


2、整合条件


根据MyBatis官网的Spring要求,使用MyBatis-Spring的插件继续整合。


官网地址如下:http://mybatis.org/spring/zh/index.html


它的好处是:MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。


它将允许MyBatis参与到 Spring 的事务管理之中,创建映射器 mapper 和 SqlSession 并注入到 bean 中,以及将 Mybatis 的异常转换为 Spring 的 DataAccessException。


最终,可以做到应用代码不依赖于 MyBatis,Spring 或 MyBatis-Spring。


Spring和MyBatis-Spring的版本要求:


MyBatis-Spring MyBatis Spring Framework Spring Batch Java

2.0 3.5+ 5.0+ 4.0+ Java 8+

1.3 3.4+ 3.2.2+ 2.1+ Java 6+


3、整合入门


3.1、在项目中加入mybatis-spring依赖包


在项目的pom.xml中加入以下代码:


<dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>2.0.6</version>
</dependency>


3.2、继续添加spring的依赖


    <properties>
      <spring-beans.version>5.2.14.RELEASE</spring-beans.version>
    </properties> 
    <!-- 添加spring的依赖包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>


3.3、配置spring核心配置文件


默认的spring的核心配置文件是applicationContext.xml,我在此命名为spring-context.xml并且放在resources下新建的spring包中.在项目中的相对路径为:src/main/resources/spring/spring-context.xml


内容如下:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">
    <!-- 配置spring包扫描 -->
    <context:component-scan base-package="com.fd"/>
    <!-- 添加属性文件配置 -->
    <context:property-placeholder location="classpath:config/db.properties" />
    <!--连接池-->
    <bean  id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
           p:driverClass="${jdbc.driverClass}"
           p:jdbcUrl="${jdbc.jdbcUrl}"
           p:user="${jdbc.user}"
           p:password="${jdbc.password}"
    />
</beans>


因为上面使用了c3p0连接池,所以在pom.xml中添加c3p0的依赖


    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.2</version>
    </dependency>


同样创建在上面数据库连接使用的classpath下的db.properties


jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.jdbcUrl=jdbc:mysql://localhost:3306/mybatis
jdbc.user=root
jdbc.password=root


注意:db.properties是在classpath:config/db.properties路径下


3.4、配置MyBatis核心初始化类


因为MyBatis中的对象以及初始化都交于Spring来管理,所以,MyBatis核心配置都要写在Spring的核心配置文件中,内容如下:


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
</bean>


3.5、定义Mapper对象


为了测试方便,先定义一个绑定SQL到接口中的Mapper,这种就可以省略xml映射文件的编写,但是可维护性比较差,一般用来做测试


public interface UserMapper {
    @Select("select * from user where id = #{userId}")
    User getUser(@Param("userId")String userid);
}


引入依赖


        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>


3.7、编写MyBatis-Spring测试类


public class MyBatisSpringTest {
    @Test
    public void testSpringMyBatis(){
        /*构建一个Spring容器*/
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml");
        /*从容器中获取Mapper*/
        UserMapper userMapper = applicationContext.getBean(UserMapper.class);
        User user = userMapper.getUser("1");
        System.out.println("user = " + user);
    }
}


4、整合MyBatis现有配置


4.1、修改Spring核心配置文件


在基础的MyBatis用法中,是通过SqlSessionFactoryBuilder来创建SqlSessionFactory的而在MyBatis-Spring中,则使用SqlSessionFactoryBean来创建,所以默认MyBatis的配置属性都都可以通过SqlSessionFactoryBean来设置,最常见的两个设置就是mapper文件的位置和Mapper接口的扫描配置。


<!--配置MyBatis的初始化核心类-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--指定默认mapper映射文件的扫描路径,扫描多个时,可使用list标签-->
        <property name="mapperLocations">
            <list>
                <value>classpath*:mybatis/mapper-*.xml</value>
            </list>
        </property>
    </bean>


如果mapper映射文件的路径和Mapper接口的路径不一样,一般要指定Mapper接口的扫描路径,在Spring核心配置文件中添加Mapper接口扫描路径,如下:


<!--指定mapper接口的扫描路径-->
<mybatis:scan base-package="com.fd.dao"/>


或(2选1即可)


<!--指定mapper接口的扫描路径 方式2-->
    <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.fd.dao"/>
    </bean>


完整的Spring配置文件如下:


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p" xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context-4.2.xsd
       http://www.springframework.org/schema/aop
       http://www.springframework.org/schema/aop/spring-aop-4.2.xsd http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
    <!-- 配置spring包扫描 -->
    <context:component-scan base-package="com.fd"/>
    <!-- 添加属性文件配置 -->
    <context:property-placeholder location="classpath:config/db.properties" />
    <!--连接池-->
    <bean  id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
           p:driverClass="${jdbc.driverClass}"
           p:jdbcUrl="${jdbc.jdbcUrl}"
           p:user="${jdbc.user}"
           p:password="${jdbc.password}"
    />
    <!--配置MyBatis的初始化核心类-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--指定默认mapper映射文件的扫描路径,扫描多个时,可使用list标签-->
        <property name="mapperLocations">
            <list>
                <value>classpath*:mybatis/mapper-*.xml</value>
            </list>
        </property>
    </bean>
    <bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.fd.mapper.UserMapper"/>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
    </bean>
    <!--指定mapper接口的扫描路径-->
    <mybatis:scan base-package="com.fd.dao"/>
</beans>


编写测试代码:


    @Test
    public void testSpringMybatisUser(){
        /*构建一个Spring容器*/
        /*ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/spring-context.xml");*/
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("file:D:\\JAVA\\java\\MySSM\\src\\main\\resources\\spring\\spring-context.xml");
        /*从容器中获取Mapper*/
        UserDao userDao = applicationContext.getBean(UserDao.class);
        User user = userDao.getUser("16");
        System.out.println("user = " + user);
    }


4.2、使用旧的mybatis核心配置文件


在Spring核心配置文件的SqlSessionFactory下添加一行代码:


<!--配置MyBatis的初始化核心类-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <!--使用旧的mybatis核心配置文件-->
        <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
        <!--指定默认mapper映射文件的扫描路径,扫描多个时,可使用list标签-->
        <property name="mapperLocations">
            <list>
                <value>classpath*:mybatis/mapper-*.xml</value>
            </list>
        </property>
    </bean>


注意:上述MyBatis核心配置文件中的一些配置(比如mysql环境)等已经交由Spring去管理,所以不需要再做该配置,否则就可能会和Spring中的配置属性起冲突。


SpringMVC和Spring整合


1、整合理论


因为Spring是一个容器,用来解决对象之间的耦合度,所以整合结果就是要Spring统一管理所有Bean和MyBatis以及数据库的事务等。


另外:SpringMVC是基于Spring开发,所以SpringMVC中也有一个管理自己Bean(@Controller)的容器,这个容器和上面Spring的容器不是一个容器,它只管理自己,所以两个容器之间包的扫描要分开。


2、整合实战


因为在整个框架整合中,Spring是管理Bean的容器,所以Spring容器要最先初始化,但是SSM是一个WEB项目,在WEB项目里最先启动的是Listener,所以Spring在WEB项目初始化是通过监听器(Listener)来启动,SpringMVC的启动是通过Servlet来启动。


2.1、配置Spring的启动


首先要把当前项目转换成一个web项目,在maven结构中,web项目的路径是:src/main/webapp/WEB-INF/web.xml

配置web.xml


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
  <!--配置Spring监听器启动,在服务器启动的时候最先启动-->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/spring-context.xml</param-value>
  </context-param>
</web-app>


如果当前项目没有spring-web依赖包,那么需要加入一下:


    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>


2.2、SpringMVC和Spring代码整合


因为SpringMVC依赖于Spring,所以他自己内部也有个容器,但是该容器只管自己的Controller,所以在包扫描的地方要配置过滤。


2.3、加入SpringMVC的pom依赖


先要在pom.xml加入依赖


<!--加入SpringMVC的GAV依赖-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>${spring-beans.version}</version>
    </dependency>


注意:jar的名字是spring-webmvc


2.4、配置核心Servlet


因为SpringMVC的核心是DispatchServlet,是一个WEB开发中的Servlet组件,所以必须要配置在web.xml中,配置如下:


 <!--引入SpringMVC的核心控制器DispatchServlet-->
    <servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!--配置SpringMVC的核心配置文件-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring/springmvc-context.xml</param-value>
        </init-param>
    </servlet>
    <!--配置Spring监听器启动,在服务器启动的时候最先启动-->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <!--配置SpringMVC核心配置文件-->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-context.xml</param-value>
    </context-param>
    <!-- 访问DispatcherServlet对应的路径 -->
    <!--配置Servlet映射,默认/ 不是/*-->
    <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/</url-pattern> <!--/不过滤jsp防止死循环-->
    </servlet-mapping>


2.5、配置SpringMVC的核心配置文件


按照上面web.xml中的配置,我们需要springmvc-context.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:p="http://www.springframework.org/schema/p"
       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">
    <!--配置SpringMVC包的扫描,因为当前springmvc也是使用了容器,所以它扫描的组件不能和spring扫描的组件重复-->
    <context:component-scan base-package="com.fd.controller" use-default-filters="false">
        <!--所以要使用排除法,SpringMVC只扫描自己的controller包-->
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
</beans>


注意:配置SpringMVC包的扫描,因为当前springmvc也是使用了容器,所以它扫描的组件不能和spring扫描的组件重复,所以在spring扫描的时候,要把controller取消扫描。


修改spring的核心配置文件spring-context.xml如下:


<!-- 配置spring包扫描 -->
    <context:component-scan base-package="com.fd">
        <!--因为controller已经在springMVC中扫描过了,所以在spring扫描的时候,要把controller过滤掉-->
        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>


再到springmvc-context.xml中加入视图解析器,注册驱动等,完整的springmvc-context.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:p="http://www.springframework.org/schema/p"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       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 http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <!--配置SpringMVC包的扫描,因为当前springmvc也是使用了容器,所以它扫描的组件不能和spring扫描的组件重复-->
    <context:component-scan base-package="com.fd.controller" use-default-filters="false">
        <!--所以要使用排除法,SpringMVC只扫描自己的controller包-->
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    <!-- 视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- jsp所在的位置-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!-- jsp文件的后缀名-->
        <property name="suffix" value=".jsp"/>
    </bean>
    <!--配置默认的servlet-->
    <mvc:default-servlet-handler/>
    <!--启用注解驱动-->
    <mvc:annotation-driven/>
</beans>


2.6、编程测试Controller


@Controller
public class IndexController {
    @RequestMapping("/hello")
    @ResponseBody
    public String test() throws Exception{
        return "Hello F2135";
    }
}


这时在浏览器输入http://localhost:8080/hello 如果浏览器输出Hello F2135,则表示SpringMVC启动成功!


2.7、编程验证SpringMVC和Spring完全整合成功


因为Spring和SpringMVC是两个容器,另外SpringMVC的容器时Spring容器的子容器,所以当SpringMVC的Controller中如果注入Spring的Bean成功,那么我们就可以验证SpringMVC和Spring完全整合。


先编写一个Service接口:


public interface UserService {
    public User getUser();
}


再编写一个Service实现类:


@Service
public class UserServiceImpl implements UserService {
    @Override
    public User getUser() {
        return null;
    }
}


在IndexController中通过@Autowired注入UserService,如果注入成功,那么久说明Spring和SpringMVC整合成功。


代码如下:


@Controller
public class IndexController {
    @Autowired
    private UserService userService;
    @RequestMapping("/user")
    @ResponseBody
    public String getUser() throws Exception{
        final User user = userService.getUser();
        return user.toString();
    }
}


注意:如果返回JSON格式数据,那么要在SpringMVC中配置对JSON的支持,默认要jackson框架,如果是Spring5,加入的依赖版本是2.12.3,如果使用的是Spring4,默认依赖版本是2.8.9左右版本,如下:


<!--加入jackson来完成SpringMVC对JSON的解析-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.12.3</version>
    </dependency>


2.8、在Spring中调用MyBatis


因为MyBatis完全由Spring接管,所以MyBatis的Dao要通过容器注入,注入和测试如下:


@Service
public class UserServiceImpl implements UserService {
//    注入MyBatis的Dao对象
    @Autowired
    private UserDao userDao;
    @Override
    public User getUser() {
        final User user = userDao.getUser("16");
        return user;
    }
}


测试没有问题,接下来就可以写上华丽的页面完成一个项目了。



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
1月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
46 4
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
152 1
|
1月前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
38 0
|
7天前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
17天前
|
SQL 缓存 Java
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
本文详细介绍了MyBatis的各种常见用法MyBatis多级缓存、逆向工程、分页插件 包括获取参数值和结果的各种情况、自定义映射resultMap、动态SQL
【详细实用のMyBatis教程】获取参数值和结果的各种情况、自定义映射、动态SQL、多级缓存、逆向工程、分页插件
|
28天前
|
前端开发 Java 数据库连接
Spring 框架:Java 开发者的春天
Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。
43 1
Spring 框架:Java 开发者的春天
|
20天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
38 2
|
19天前
|
消息中间件 NoSQL Java
springboot整合常用中间件框架案例
该项目是Spring Boot集成整合案例,涵盖多种中间件的使用示例,每个案例项目使用最小依赖,便于直接应用到自己的项目中。包括MyBatis、Redis、MongoDB、MQ、ES等的整合示例。
78 1
|
28天前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
下一篇
无影云桌面