超简易SpringBoot工程构建与部署 ( 图解 - 零基础专属 )

目录

简单了解MVC架构

模型(Model)

视图(View)

控制器(Controller)

基本环境准备

MYSQL建库建表

创库+创表

智能生成数据

创建SpringBoot项目

配置pox.xml

代码提供

补充(IDEA的Maven要配置正确,不然会报错)

配置.properties/yaml文件

代码提供

 创建实体类

 创建包名为 entity

创建 实体类 User 

代码提供

创建DAO层(与数据库打交道的)

创建包名为 mapper

创建 实体的dao层mapper接口

代码提供

 创建服务层

 创建包名为 service

创建 UserService 接口

代码提供

 创建服务-接口层

 创建包名为 impl

创建 UserServiceImlp 实现类

代码提供

创建控制层

创建包名为 controller

创建 userController 控制层类

代码提供

 配置启动类

项目测试

运行项目

利用测试工具

测试地址

测试结果

部署项目


简单了解MVC架构

MVC架构是一种常见的软件设计模式,用于将应用程序分为三个主要部分:

模型(Model)

模型负责处理数据逻辑和数据库交互,

视图(View)

视图负责显示用户界面,

控制器(Controller)

控制器则协调模型和视图之间的交互。

这种分离使得代码更加模块化,便于维护和扩展。

简单来说,MVC就是将业务逻辑、数据和用户界面分开管理,从而提高代码的可读性和可维护性。


基本环境准备

JDK+MYSQL + Maven + IDEA (去b站搜下载/安装)

直达推荐up如下:

JDK | JDK的下载与安装_哔哩哔哩_bilibili

MYSQL | MySQL8.0_Windows安装_哔哩哔哩_bilibili

Maven | Maven_安装与配置_哔哩哔哩_bilibili

IDEA | IDEA的安装与配置_哔哩哔哩_bilibili


MYSQL建库建表

(本人使用 NavicatPremium 16 懂的都懂 vx公众号 : wmcode 自取)

创库+创表

智能生成数据

创建SpringBoot项目

我使用的是 aliyun脚手架

https://start.aliyun.com

SpringBoot版本为 2.6.13

配置pox.xml

防止报错代码给到这边来 全选复制粘贴 (晚点up不想得去配置,求放过T_T)

里面包含了 MyBatis-Plus 半ORM框架 实现快速对数据库的增删改查

代码提供

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.takem</groupId>
    <artifactId>TakeM</artifactId>
    <version>1.0.1</version>
    <name>TakeM</name>
    <description>TakeM</description>
    <packaging>jar</packaging>
    <properties>
        <java.version>11</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- 这个就是MyBatis-Plus框架 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.7</version>
        </dependency>

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

    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.takem.TakeMApplication</mainClass>
                <skip>false</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

补充(IDEA的Maven要配置正确,不然会报错)

可以参考这个 IDEA中Maven配置_插件_测试依赖_哔哩哔哩_bilibili

配置.properties/yaml文件

代码提供

server:
  port: 80
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库中所创建的数据库名字?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
    username: 你的数据库账号
    password: 你的数据库密码

# 以下可以不写
mybatis-plus:
  configuration:
    #这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    call-setters-on-nulls: true

  global-config:
    db-config:
      logic-delete-value: 1
      logic-not-delete-value: 0

 创建实体类

 创建包名为 entity

创建 实体类 User 

这个 User.java  对应的是数据库的 user 表(很重要)

@注解 就自己先熟悉吧

代码提供

package com.takem.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;


@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName("user")
public class User {
    @TableField(value = "user_id")
    private Integer userId;

    @TableField(value = "user_name")
    private String userName;

    @TableField(value = "user_password")
    private String userPassword;

    @TableField(value = "user_register_time")
    private String userRegisterTime;
}

创建DAO层(与数据库打交道的)

创建包名为 mapper

创建 实体的dao层mapper接口

选择 Interface 输入 UserMapper

这里就是实现了 MyBatis-Plus的接口类

同时要注意 BaseMapper<这里是实体类对象名>,包括 @Mapper注解(需要自己打上)

代码提供

package com.takem.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.takem.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

 创建服务层

 创建包名为 service

创建 UserService 接口

代码提供

package com.takem.service;

import com.takem.entity.User;

import java.util.List;

public interface UserService {
    //查询全部用户
    public List<User> SelectAllUser();

}

 创建服务-接口层

 创建包名为 impl

创建 UserServiceImlp 实现类

代码提供

package com.takem.service.impl;

import com.takem.entity.User;
import com.takem.mapper.UserMapper;
import com.takem.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceImpl  implements UserService{

    private final UserMapper userMapper;

    @Autowired
    public UserServiceImpl(UserMapper userMapper) {
        this.userMapper = userMapper;
    }

    @Override
    public List<User> SelectAllUser() {
        return userMapper.selectList(null);
    }
}

创建控制层

创建包名为 controller

创建 userController 控制层类

代码提供

package com.takem.controller;

import com.takem.entity.User;
import com.takem.service.impl.UserServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@AllArgsConstructor
public class UserController {

    private UserServiceImpl userService;

    @GetMapping("users")
    public List<User> SelectAllUser(){
        return userService.SelectAllUser();
    }
}

 配置启动类

项目测试

运行项目

接下来就可以跑起来了

两者都可以(建议使用 Debug)

如果是以下情况,那么恭喜你 成功启动!!(完结撒花 hhh  还没完呢^_^)

利用测试工具

可以用 ApiFox / Postman 等测试软件

(懂的都懂 vx公众号 : wmcode 自取 或者 去官网下载)

测试地址

(重点!!) 测试地址为我们 本地IP+yaml配置文件的服务器端口+控制层的请求接口

(80端口可以默认不写)

例如(users 是控制层写好的接口地址,可以网上翻看):

http://127.0.0.1:80/users -> http://127.0.0.1/users

http://localhost:80/users -> http://localhost/users

如果是8080端口的则如下

http://127.0.0.1:8080/users 或 http://localhost:8080/users

测试结果

成功的地址测试 如下图所示


部署项目

这个的话我其实也做过相关的文章了,可以直接去跳转观看

新手快速部署Springboot 的Jar包 (图解-BuiId,Maven)

以上就是快速搭建Springboot的教程啦 感谢观看

(到底啦~更多可关注vx公众号 wmcode ,我在那里等你唔)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/774862.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

用kimi和claude自动生成时间轴图表

做时间轴图表并不难&#xff0c;但是很麻烦&#xff0c;先要大量收集相关事件&#xff0c;然后在一些图表软件中反复调整操作。现在借助AI工具&#xff0c;可以自动生成了。 首先&#xff0c;在kimi中输入提示词来获取某个企业的大事记&#xff1a; 联网检索&#xff0c;元语…

前后端数据交互流程

一、前言 用户在浏览器访问一个网站时&#xff0c;会有前后端数据交互的过程&#xff0c;前后端数据交互也有几种的情况&#xff0c;一下就简单的来说明一下 二、原理 介绍前后端交互前先来了解一下浏览器的功能&#xff0c;浏览器通过渲染引擎和 JavaScript 引擎协同工作&am…

uboot ethernet初始化

在Board_r.c 使用initr_net,先初始化phy,然后初始化gmac,driver/net/gmacv300/gmac.c实现管脚复用和gmac设备注册 Board_r.c #ifdef CONFIG_CMD_NETstatic int initr_net(void){puts("Net: ");eth_initialize();#if defined(CONFIG_RESET_PHY_R)debug("Reset…

计算机视觉 图像融合技术概览

在许多计算机视觉应用中(例如机器人运动和医学成像),需要将来自多幅图像的相关信息集成到一幅图像中。这种图像融合将提供更高的可靠性、准确性和数据质量。 多视图融合可以提高图像的分辨率,同时恢复场景的 3D 表示。多模态融合结合了来自不同传感器的图像,称为多传感器融…

短视频文案提取神器怎么提取抖音视频文案!

很多编导以及视频内容创作者为了提高自己的工作效率还会使用视频转文字提取神器&#xff0c;我们都清楚短视频领域每个平台人群熟悉都有所不同&#xff0c;在分发内容的时候也会调整内容已符合平台属性。 短视频文案提取神器怎么提取抖音视频文案 短视频常见的平台有抖音、西瓜…

SpringBoot实战:轻松实现XSS攻击防御(注解和过滤器)

文章目录 引言一、XSS攻击概述1.1 XSS攻击的定义1.2 XSS攻击的类型1.3 XSS攻击的攻击原理及示例 二、Spring Boot中的XSS防御手段2.1 使用注解进行XSS防御2.1.1 引入相关依赖2.1.2 使用XSS注解进行参数校验2.1.3 实现自定义注解处理器2.1.4 使用注解 2.2 使用过滤器进行XSS防御…

现在这个行情怎么理解股票期权?一个守住底线的工具!

今天带你了解现在这个行情怎么理解股票期权&#xff1f;一个守住底线的工具&#xff01;股票期权是一种金融衍生品&#xff0c;给予持有者在未来特定时间以特定价格购买或出售股票的权利。 行情看down可以买入看跌期权&#xff0c;看跌期权的买方是因为预计行情的价格会在近期…

imx6ull/linux应用编程学习(11)CAN应用编程基础

关于裸机的can通信&#xff0c;会在其他文章发&#xff0c;这里主要讲讲linux上的can通信。 与I2C,SPI等同步通讯方式不同&#xff0c;CAN通讯是异步通讯&#xff0c;也就是没有时钟信号线来保持信号接收同步&#xff0c;也就是所说的半双工&#xff0c;无法同时发送与接收&…

【python】PyQt5控件尺寸大小位置,内容边距等API调用方法实战解析

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

小(微)间距P1.538COB渠道现货销售将加速全面升级替换SMD产品。

COB&#xff08;Chip on Board&#xff09;技术&#xff0c;如一颗璀璨的星辰&#xff0c;在上世纪60年代的科技夜空中悄然升起。它巧妙地将LED芯片镶嵌在PCB电路板的怀抱中&#xff0c;再用特种树脂为其披上一层坚韧的外衣&#xff0c;宛如一位精心雕琢的艺术家在创作一幅完美…

【Python机器学习】处理文本数据——用tf-idf缩放数据

为了按照我们预计的特征信息量大小来缩放特征&#xff0c;而不是舍弃那些认为不重要的特征&#xff0c;最常见的一种做法就是使用词频-逆向文档频率&#xff08;tf-idf&#xff09;。这一方法对某个特定文档中经常出现的术语给与很高的权重&#xff0c;但是堆在语料库的许多文档…

【UE5.1】Chaos物理系统基础——04 事件驱动粒子效果

目录 效果 步骤 一、炸开时的烟雾效果 二、炸开时的碎片效果 效果 步骤 一、炸开时的烟雾效果 1. 选中场景中的几何体集&#xff0c;勾选“通知中断”&#xff0c;这样当几何体集解体时就能产生一个事件&#xff1b;勾选“通知碰撞”&#xff0c;当几何体集检测到碰撞也能…

Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码

Java前后端分离架构 MySQL8.0.36产科信息管理系统 产科电子病历系统源码 产科信息管理系统—住院管理 数字化产科住院管理是现代医院管理中的重要组成部分&#xff0c;它利用数字化技术优化住院流程&#xff0c;提升医疗服务质量和效率。以下是对数字化产科住院管理的详细阐述…

华火电燃喷火单灶再荣获中国质量认证中心 CQC 权威证书,引领行业新高度

近日&#xff0c;华火传来了一则令整个行业瞩目的重大喜讯&#xff1a;其电燃喷火单灶“再度”成功荣获中国质量认证中心&#xff08;CQC&#xff09;权威证书。这一里重大程碑式的成就&#xff0c;不仅是对华火产品卓越品质的高度认可&#xff0c;更是华火在品牌发展道路上的一…

网安小贴士(8)IPv4与IPv6

一、前言 IPv4和IPv6都是互联网协议&#xff08;IP&#xff09;的版本&#xff0c;它们用于在互联网上标识和定位设备。 二、定义 IPv4&#xff08;互联网协议第四版&#xff09;&#xff1a; IPv4是互联网协议的第一个广泛使用的版本&#xff0c;最初在1981年被标准化为RFC 7…

单位立方体各个面上的法向量,向量场以及每个面上的通量

单位立方体各个面上的法向量&#xff0c;向量场 F ( x , y , z ) \mathbf{F} (x, y, z) F(x,y,z) 以及每个面上的通量 flyfish 假设我们有一个单位立方体&#xff0c;向量场 F ( x , y , z ) \mathbf{F} (x, y, z) F(x,y,z) 在该立方体上。 法向量 &#xff1a;单位立方…

中霖教育:二建报名成功后怎么审核?

【中霖教育怎么样】【中霖教育靠谱吗】 在成功完成二级建造师资格考试的报名流程后&#xff0c;需要准备后续的审核阶段&#xff0c;审核是否通过关乎考生是否能顺利参加考试&#xff0c;审核的方式包括&#xff1a;现场审核、网络审核以及考试后的审核。 某些地区会要求考生…

空间数据获取与预处理指南:生产与科研应用

1.空间数据简介 2.免费的国外GIS数据下载方法 3.免费的国内GIS数据下载方法 4.遥感云平台数据的获取方法 5.专题数据的获取及预处理示例 (1)行政区划数据 (2)气象数据 (3)土壤数据 (4)遥感产品数据 (5)统计数据 (6)…… 原文链接https://mp.weixin.qq.com/s?__bizMz…

实验三 图像增强—灰度变换

一、实验目的&#xff1a; 1、了解图像增强的目的及意义&#xff0c;加深对图像增强的感性认识&#xff0c;巩固所学理论知识。 2、学会对图像直方图的分析。 3、掌握直接灰度变换的图像增强方法。 二、实验原理及知识点 术语‘空间域’指的是图像平面本身&#xff0c;在空…

【MySQL系列】隐式转换

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…