SpringBoot集成SSM、Dubbo、Redis、JSP的案例小结及思路讲解

SpringBoot集成SSM、Dubbo、Redis、JSP的案例小结及思路讲解

介绍

SpringBoot 是一个开源的、快速构建Spring应用的框架,可以快速集成常用框架,很方便用于微服务架构中。常用的集成的框架包括SSM(Spring+SpringMVC+Mybatis)框架、Dubbo分布式服务框架、Redis非关系性数据库等,还可以利用JSP技术进行前端页面的开发。本文将描述如何将这些框架集成到Spring Boot框架中,并提供两个示例。

SSM框架集成

SSM框架是四个框架的缩写,其中Spring是用来管理Bean的生命周期和事务管理的,SpringMVC是用来开发Web应用的,Mybatis是ORM(对象关系映射)框架,用来进行数据库操作的。在Spring Boot中,可以通过导入相应的依赖进行集成。

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

其中,spring-boot-starter-web是Spring Boot中Web应用的起步依赖,mybatis-spring-boot-starter是Mybatis框架在Spring Boot中的起步依赖,mysql-connector-java是用来连接MySQL数据库的依赖。

Dubbo框架集成

Dubbo是阿里巴巴开源的一个高性能、轻量级的,基于Java语言的RPC分布式服务框架。在Spring Boot中,可以通过导入相应的依赖进行集成。

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>0.2.0</version>
</dependency>

其中,spring-boot-starter-actuator是Spring Boot管理应用的起步依赖,dubbo-spring-boot-starter是Dubbo框架在Spring Boot中的起步依赖。

Redis集成

Redis是一个开源的非关系型数据库,具有高性能、可持久化、支持多语言、数据结构丰富等优点。在Spring Boot中,可以通过导入相应的依赖进行集成。

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

JSP开发

JSP(Java Server Pages)是Java语言编写动态网页的一种技术,可以将Java代码嵌入到HTML页面中,动态生成HTML页面。在Spring Boot中,可以通过导入相应的依赖进行集成。

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

示例一:SSM框架下实现用户登录功能

用户表

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(32) NOT NULL COMMENT '密码',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

实体类

public class User {
    private Integer id;
    private String name;
    private String password;

    // getter and setter
}

Mapper

public interface UserMapper {
    User getUserById(int id);
    User getUserByName(String name);
}

Service

public interface UserService {
    User getUserById(int id);
    User getUserByName(String name);
}
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public User getUserById(int id) {
        return userMapper.getUserById(id);
    }

    @Override
    public User getUserByName(String name) {
        return userMapper.getUserByName(name);
    }
}

Controller

@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String showLogin() {
        return "user/login";
    }

    @RequestMapping(value = "/login", method = RequestMethod.POST)
    public String login(@RequestParam String name, @RequestParam String password) {
        User user = userService.getUserByName(name);
        if (user != null && user.getPassword().equals(password)) {
            return "user/main";
        } else {
            return "user/error";
        }
    }
}

前端页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>用户登录</title>
</head>
<body>
    <h1>用户登录</h1>
    <form method="post" action="/login">
        <p><input type="text" name="name" placeholder="用户名"></p>
        <p><input type="password" name="password" placeholder="密码"></p>
        <p><input type="submit" value="登录"></p>
    </form>
</body>
</html>

测试

访问http://localhost:8080/login,即可看到登录页面,输入用户名和密码,点击登录即可。

示例二:Dubbo框架下实现商品查询功能

商品表

CREATE TABLE `product` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `name` varchar(50) NOT NULL COMMENT '商品名称',
  `price` decimal(10,2) NOT NULL COMMENT '商品价格',
  `stock` int(11) NOT NULL COMMENT '商品库存',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

实体类

public class Product {
    private Integer id;
    private String name;
    private BigDecimal price;
    private Integer stock;

    // getter and setter
}

Service接口

public interface ProductService {
    List<Product> getProductList();
}

Service实现

@Service
public class ProductServiceImpl implements ProductService {
    @Autowired
    private ProductMapper productMapper;

    @Override
    public List<Product> getProductList() {
        return productMapper.getProductList();
    }
}

Controller接口

@RestController
@RequestMapping("/product")
public class ProductController {
    @Reference
    private ProductService productService;

    @RequestMapping("/list")
    public List<Product> list() {
        return productService.getProductList();
    }
}

测试

启动Dubbo服务提供者和消费者应用,访问http://localhost:8080/product/list,即可获取到商品列表信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot集成SSM、Dubbo、Redis、JSP的案例小结及思路讲解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • redis集群搭建以及在SpringBoot中的配置

    redis的安装:https://www.cnblogs.com/knightdreams6/p/11270400.html 集群搭建: 两台虚拟机模拟6个节点,一台机器3个节点,创建3 master, 3 salve 环境 redis采用 redis-5.0.5版本。 两台虚拟机都是CentOS7,一台ip(192.168.3.222),另一台(192.1…

    Redis 2023年4月11日
    00
  • sql集合运算符使用方法

    SQL集合运算符是一种非常常见的查询技巧,用于处理多个数据表之间的数据交集、并集、差集等关系,主要包括UNION、UNION ALL、INTERSECT、EXCEPT这四种运算符。下面将详细讲解这些运算符在SQL中的使用方法。 一、UNION运算符 UNION运算符用于合并两个或多个SELECT语句的结果集,且去除重复的行,基本语法如下: SELECT co…

    database 2023年5月21日
    00
  • 如何使用Python在MySQL中使用主键?

    在MySQL中,主键是一种用于唯一标识表中每一行的特殊列。在Python中,可以使用MySQL连接来执行主键查询。以下是在Python中使用主键的完整攻略,包括主键的基本语法、使用主键的示例以及如何在Python中使用主键。 主键的基本语法 MySQL中,可以使用PRIMARY KEY关键字来指定主键列。以下创建主键列的基本法: TABLE table_na…

    python 2023年5月12日
    00
  • Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐)

    以下是 “Springboot项目中运用vue+ElementUI+echarts前后端交互实现动态圆环图(推荐)”的完整攻略。 1. 环境搭建 首先需要安装好Node.js和npm, 安装好之后,通过npm安装vue-cli, 并用命令vue init webpack projectname创建项目。 npm install -g vue-cli vue …

    database 2023年5月21日
    00
  • Linux下二进制方式安装mysql5.7版本和系统优化的步骤

    安装MySQL 5.7版本并进行系统优化的步骤如下: 步骤一:准备工作 下载MySQL 5.7安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 解压安装包 rpm -ivh mysql57-community-release-el7-11.noarch…

    database 2023年5月22日
    00
  • CenterOS 中安装Redis及开机启动设置详解

    CentOS 中安装 Redis 及开机启动设置详解 简介 Redis 是一个开源的内存数据存储系统,支持键值存储、发布/订阅、脚本等功能。本文将介绍在 CentOS 系统中如何安装 Redis,并设置开机启动服务。 步骤 1. 安装 Redis 在 CentOS 中安装 Redis 相对比较简单,只需要使用 yum 命令即可安装。 sudo yum ins…

    database 2023年5月22日
    00
  • python 专题九 Mysql数据库编程基础知识

    Python 专题九 Mysql 数据库编程基础知识 Mysql 是一种流行的数据库管理系统,使用 Python 连接 Mysql 数据库可以实现数据的快速读取和存储。下面将介绍 Python 连接 Mysql 数据库的基础知识。 基础概念 数据库:存储数据的仓库 数据表:数据库中的组织形式,用于存储数据 字段:表中的列,用于存储数据 记录:表中的行,即数据…

    database 2023年5月18日
    00
  • 什么是redis事务

    一、什么是redis事务?   可以一次性执行多条命令,本质上是一组命令的集合。一个事务中的所有命令都会序列化,然后按顺序地串行化执行,而不会被插入其他命令 二、Redis 事务可以做什么?   一个队列中,一些性,顺序性,排他性的执行一系列的命令 三、怎么使用 redis 命令?   1、事务相关的命令:     (1)DISCARD:取消事务,放弃执行事…

    Redis 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部