从java直接上手SpringBoot【CTGU启明星】

news2024/11/24 4:53:31

本文适合刚刚学完java包括面向对象的同学,直接上手SpringBoot教程。

一、写在前面

先说说为什么这样做,现在主流的java后端学习是

面向对象->ssm框架->SpringBoot

其间还穿插数据库的学习,例如MyBatis等。

但是我们认为从项目入手学习的效果可能会好一点:为了让刚开始的同学尽快的上手实际开发,先从SpringBoot开始学会怎么用,然后在学长学姐的带领下边开发边接触数据库,掌握了实际开发之后再回去学习ssm框架和底层的原理。

这种学习路线相当于把传统的反过来,同样需要投入大量时间,前期也会很痛苦【鄙人亲身经历,没有足够的实际的同学请慎用】。

二、创建项目

首先得保证你有一个稳定的专业版的IDEA(推荐)。如果觉得网上不靠谱的话可以微信关注公众号:“呼哧好大枫”,领取专业版的IDEA使用教程(你懂的)

创建Spring项目还有一些注意事项,请看拙作:传送门。

三、准备mysql数据库

建议安装数据库管理软件php study(小皮面板),可以很方便的管理多个版本的mysql。下载链接

安装完成之后的页面

然后安装数据库系统软件navicate,使(po)用(jie)教程还是在微信公众号“呼哧好大枫” 上面。

在小皮面板上创建一个数据库,设置好用户名和密码。然后在navicate上连通。不能连通的请检查端口等,自行解决。

连通之后创建你自己的数据表(提前设计好了的,可以用powerDesinger等软件)

至此,准备工作就完成了。

三、Spring相关文件 

一个完成的项目大致包含上面几个文件夹。本人写代码比较随意, 在命名上面可能有所不同,下面我来一一解释这些文件夹是干啥的

在java/smartbox文件下:

项目文件夹的含义
文件夹名称含义
config一些代码上的配置文件,如存储桶配置、时间配置等
controller接口控制层,用来书写接口
daodao层,用来连接数据库
domain也叫model等,用来存放一个个实体类
server底层的服务
task存放一些需要服务器自动运行的功能,如定时闹钟等
Utils一个自己编写的常用的工具,如可以把文件的上传等自己写一个工具类,用于多次调用

在resource下还有一个总的配置文件夹,application.yml,用.yml后缀的比较好

还有一个非常重要的文件pom.xml,这个是整个项目需要导入的jar包和spring的版本配置等。

需要说明的是,本教程采用的是Mybatis连接数据库,需要在pom.xml文件中加入下面的依赖

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.1</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.16</version>
        </dependency>

方可使用下面的代码。

四、一些代码模板

项目连接数据库需要在application.yml中配置:

spring:
  datasource: # 数据库的相关配置
    url: jdbc:mysql://localhost:3307/smartbox?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: hlt_plus
    password: 123456
server:   # 配置启动端口
  port: 8088



其中端口号、账户名称、密码换成你自己的

dao基本代码

package smartbox.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import smartbox.domain.User;

/**
 * @program: SmartBoxing
 * @description:
 * @author: hlt
 * @create: 2023-03-02 19:38
 **/
@Mapper
public interface userDao extends BaseMapper<User> {

}

domain层基本代码

package smartbox.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

/**
 * @program: SmartBoxing
 * @description:
 * @author: hlt
 * @create: 2023-03-02 19:12
 **/
@Data
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String openid;   // 微信唯一标识符
    private String via;
    private String nickname;  // 微信昵称
}

controller层基本代码

package smartbox.Controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.client.RestTemplate;
import smartbox.dao.medicineDao;
import smartbox.dao.userDao;
import smartbox.domain.User;

import java.util.List;
import java.util.stream.Collectors;

/**
 * @program: SmartBoxing
 * @description:
 * @author: hlt
 * @create: 2023-03-02 19:38
 **/
@RestController
@RequestMapping("/users")
@CrossOrigin(origins = "*", maxAge = 3600)
public class userController {

    @Autowired
    private userDao userDao;

    @Autowired
    private medicineDao medicineDao;

    @GetMapping("/test")
    public String test(){
        return "test successfully!";
    }
}

接下来就是你自己发挥了,写完了后端接口之后用apipost或者postman测试一下。

本教程为工作室内部讲解辅助使用,会比较简略,若有不足或不懂之处,请留言。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

来自腾讯AI实验室的Real-ESRGAN将模糊老照片和视频修复成高清晰(一些错误处理)

Real-ESRGAN:Enhanced Super-Resolution GAN&#xff1a;增强的超分辨率的对抗生成网络&#xff0c;对于GAN相信大家都比较熟悉&#xff0c;前有阿尔法狗&#xff0c;现有很多GAN的延伸版本&#xff0c;StyleGAN1~3系列以及DragGAN对于图片的生成和编辑&#xff0c;出来的效果都…

Tomcat顶层架构、服务部署、虚拟主机配置

Tomcat顶层架构、服务部署、虚拟主机配置 一、Tomcat概述1、Tomcat介绍2、Tomcat三个核心组件3、Java Servlet4、JSP 二、Tomcat顶层架构三、Tomcat请求过程四、Tomcat服务部署1、关闭防火墙&#xff0c;将安装 Tomcat 所需软件包传到/opt目录下2、安装JDK3、设置JDK环境变量4、…

Java中导出Excel步骤总结(案例学习)

【辰兮要努力】&#xff1a;hello你好我是辰兮&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行&#xff01; 博客来源于项目以及编程中遇到的问题总结&#xff0c;偶尔会有读书分享&#xff0c;我会陆续更新Java前端、后台、…

怎么把伴奏提取出来?分享两个方法给大家~

对于音乐制作人和音乐爱好者而言&#xff0c;创作个人音乐作品是一项令人兴奋的体验。然而&#xff0c;有时我们希望使用一首现有歌曲的伴奏来创作自己的音乐作品&#xff0c;但却无法找到原版伴奏。为了解决这一难题&#xff0c;现在可以使用记灵在线工具来提取音频伴奏。本文…

瞬息全宇宙:苹果发布虚拟现实头显Vision Pro

WWDC23巅峰时刻 熬夜看了WWDC苹果发布会&#xff0c;传闻了N年的苹果MR&#xff08;增强现实&#xff09;产品&#xff0c;终于来了。 One More Thing&#xff0c;库克说出了这句话&#xff0c;巅峰时刻终于到来&#xff01; 新的交互 名字叫Vision Pro&#xff0c;虽然这名…

《计算机网络——自顶向下方法》精炼——4.1-4.3.0

书读得越多而不假思索&#xff0c;你就会觉得你知道的很多&#xff1b;而当你读书而思考的越多的时候&#xff0c;你就会越清楚的看到&#xff0c;你知道的还很少——伏尔泰 文章目录 概述转发、路由选择网络服务模型 虚电路和数据报网络虚电路网络数据报网络 路由器工作原理 概…

chatgpt赋能python:Python如何出图

Python如何出图 作为一种广泛使用的编程语言&#xff0c;Python不仅仅可以用于数据分析、机器学习等领域&#xff0c;还可以用来生成图像。在这篇文章中&#xff0c;我们将介绍Python如何出图&#xff0c;并将重点放在与SEO相关的方面。 1. Python出图的基本原理 Python有多…

刷题记录:哈希 | leetcode-2352. 相等行列对 2023/6/6

2352. 相等行列对 这题还是非常简单的。如果用模拟的方法&#xff0c;时间复杂度要达到O(n^3)了&#xff0c;感觉不太可。 这回学聪明了&#xff0c;没有一上来就想着暴力模拟。用哈希的办法&#xff0c;可以把时间复杂度降为O(n^2)。 我的思路是先转置矩阵&#xff0c;再用…

Matlab论文插图绘制模板第99期—正负柱状图

在之前的文章中&#xff0c;分享了很多Matlab柱状图的绘制模板&#xff1a; 进一步&#xff0c;再来分享一种特殊的柱状图&#xff1a;正负柱状图。 先来看一下成品效果&#xff1a; 特别提示&#xff1a;本期内容『数据代码』已上传资源群中&#xff0c;加群的朋友请自行下载…

HTML+JS 实现手机号码归属地查询功能

手机号码归属地 API 是一种提供号码归属地信息的接口&#xff0c;它通过与运营商和电信数据库交互&#xff0c;根据手机号码查询相关归属地信息并返回结果。通过使用手机号码归属地API&#xff0c;开发者可以轻松地集成号码归属地查询功能到他们的应用程序和服务中&#xff0c;…

简介- 谷粒商城项目微服务架构图

目录 项目前置知识一、前后端分离开发&#xff0c;分为 内网部署 和 外网部署。二、用户是通过使用 客户端 来完成各种的功能三、网关的作用四、Sentiel组件五、Feign组件六、OAuth2.0认证中心七、SpringSecurity组件八、关于数据存储的解决方案九、定位bug十、注册中心十一、配…

Java 进阶 -- Lambda 表达式

Lambda Expressions 匿名类&#xff08;anonymous classes&#xff09;的一个问题是&#xff0c;如果匿名类的实现非常简单&#xff0c;比如一个只包含一个方法的接口&#xff0c;那么匿名类的语法可能会显得笨拙和不清晰。在这些情况下&#xff0c;您通常试图将功能作为参数传…

Spark RDD计算总分与平均分

文章目录 一&#xff0c;提出任务二&#xff0c;实现思路三&#xff0c;准备工作1、启动HDFS服务2、启动Spark服务3、在本地创建成绩文件4、将成绩文件上传到HDFS 四&#xff0c;完成任务1、在Spark Shell里完成任务&#xff08;1&#xff09;读取成绩文件&#xff0c;生成RDD&…

从Java BIO到NIO再到多路复用,看这篇就够了

从一次优化说起 近期优化了一个老的网关系统&#xff0c;在dubbo调用接口rt1000ms时吞吐量提升了25倍&#xff0c;而线程数却由64改到8。其他的优化手段不做展开&#xff0c;比较有意思的是为什么线程数减少&#xff0c;吞吐量却可以大幅提升&#xff1f;这就得从IO模型说起&a…

消息队列kafka使用技巧和常见问题

目录 【消息队列概述】 【kafka】 消息丢失问题 消息重复问题 消费顺序问题 消息积压问题 kafka集群部署 【消息队列概述】 消息队列主要解决应用耦合、异步消息、流量削锋等问题&#xff0c;是大型分布式系统不可缺少的中间件。消息生产者 只管把消息发布到 MQ 中而不…

【CMake 入门与进阶(4)】 CMakeLists.txt 语法规则基础及部分常用指令-续(附使用代码)

由于篇幅问题本篇接着上文继续介绍 CMakeLists.txt 语法规则基础及常用指令。 aux_source_directory aux_source_directory 命令会查找目录中的所有源文件&#xff0c;其命令定义如下&#xff1a; aux_source_directory(<dir> <variable>)从指定的目录中查找所有…

开发者工具调试

Console控制台 F12打开控制台 选择其他tab面板时&#xff0c;ESC打开Console面板enter直接执行Console的代码&#xff0c;shiftEnter输入多行代码 Source面板 左键单机行号设置断点&#xff0c;或在代码中添加debugger;右键单机行号设置条件断点&#xff08;条件表达式为tr…

PowerShell install 一键部署mariadb10.11

mariadb MariaDB数据库管理系统是MySQL的一个分支&#xff0c;主要由开源社区在维护&#xff0c;采用GPL授权许可 MariaDB的目的是完全兼容MySQL&#xff0c;包括API和命令行&#xff0c;使之能轻松成为MySQL的代替品。在存储引擎方面&#xff0c;使用XtraDB来代替MySQL的Inno…

ChatGPT 国内镜像网站大全(含GPT-4.0版本)之什么年代还在写传统文章。

前言&#xff1a; 临近期末&#xff0c;大量水课的节课作业都是论文&#xff0c;一篇就是几千字&#xff0c;这对于还要复习专业课的我们可以说是压力巨大&#xff1a;心理健康论文&#xff0c;安全教育论文&#xff0c;大学语文论文&#xff0c;书法赏析论文&#xff0c;劳动…

小议C++函数签名与模板返回类型

题记&#xff1a;什么事情都要追问一个为什么&#xff0c;真正理解了为什么&#xff0c;才能活学活用。 代码1 下面的代码能编译通过吗&#xff1f; #include <stdio.h> #include <stdlib.h>class X { public:int *get() { return new int(); }double *get() { r…