【JavaEE】Spring Boot - 项目的创建和使用

【JavaEE】Spring Boot 开发要点总结(1)

在这里插入图片描述

文章目录

  • 【JavaEE】Spring Boot 开发要点总结(1)
    • 1. Spring Boot 的优点
    • 2. Spring Boot 项目创建
      • 2.1 下载安装插件
      • 2.2 创建项目过程
      • 2.3 加载项目
      • 2.4 启动项目
      • 2.5 删除一些没用的文件
    • 3. Spring Boot 工程目录结构
      • 3.1 main
      • 3.2 test
      • 3.3 target
      • 3.4 依赖管理
    • 4. 网页的方式去创建
    • 5. 项目的使用(打印HelloWorld)
    • 6. 不遵循约定的案例
      • 6.1 类的位置
      • 6.2 配置文件
    • 7. 设置热部署

【JavaEE】Spring Boot 开发要点总结(1)

Spring框架是为了简化Java程序的开发的,而Spring Boot框架则是为了简化Spring程序开发的

Spring Boot,也就是Spring 脚手架

现实中的脚手架是这样的:

脚手架 的图像结果

通过这个脚手架,我们就可以更快速方便的盖房子,并且房子建得会更好

而Spring Boot,就是Spring代码的脚手架,让我们更加方便的去开发~

  • 在之前的学习中,Spring项目是普通的Maven项目,一些麻烦的地方避免不了
  • 而Spring Boot的出现,解决了一系列麻烦

框架就是这样,将一些繁琐的操作包装起来,成为“地基/骨架”,让开发者在框架之上开发

1. Spring Boot 的优点

  1. 快速集成框架
    • Spring Boot 提供了 启动添加依赖 的功能,用于秒级集成各种框架
    • (创建项目前后都可以方便的添加依赖,打 √ 的方式)
  2. 内置运行容器
    • 无需配置 Tomcat等 Web容器,Spring Boot一个项目就包含了一整个 Tomcat!
      • 自然就不需要之前开发的一系列配置
    • 直接运行和部署程序
  3. 快速部署项目
    • 无需外部容器 即可启动并运行项目
    • 使用jar包,加上简单的命令就可以运行
      • 无需像之前那样,得删除原来的,然后再部署过去
  4. 可以完全抛弃繁琐的XML方式去配置
    • 使用注解和配置的方式进行开发
    • 一开始就是空白的,需要自主配置的才去写,一些固定的配置不需要
  5. 支持更多的监控指标
    • 可以更好的了解项目的运行情况

在后面的学习中,你会有更深的体验!

2. Spring Boot 项目创建

2.1 下载安装插件

下载前叫做:Spring Boot Helper

在这里插入图片描述

下载后叫做:Spring Initializr and Assistant

在这里插入图片描述

这样才能选择创建这个项目:

在这里插入图片描述

2.2 创建项目过程

在这里插入图片描述

在这里插入图片描述

本质上就是在这个网站上去创建项目的,但是IDEA的工作就是代替这个操作,并且创建出来的项目放在我们想要的目录下,比较方便

  • 网站创建Spring Boot项目随后单独演示

其他源就不做介绍了,感兴趣的可以自行了解

start.aliyun.com:

在这里插入图片描述

保持网络通畅,因为IDEA这个适合就是在访问那个源了:

在这里插入图片描述

设置项目配置:
在这里插入图片描述

  • 不需要打war包,否则会导致一些不必要的问题

创建前的导入依赖(打 √ 的方式)

在这里插入图片描述

在这里插入图片描述

这些依赖包,后面就有很重要的作用~

  • 例如DevTools这个包,后面就可以支持热部署~

2.3 加载项目

这个启动类还是红色的,说明没有加载好
在这里插入图片描述

这样子做:
在这里插入图片描述

在这里插入图片描述

点击reload,这样就可以加载项目了

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

默认给你加了这个 .RELEASE,要删掉

重新reload:

  • 要配置国内源哦
    • 【JavaEE】JavaEE进阶:框架的学习 - Spring的初步认识_s:103的博客-CSDN博客

在这里插入图片描述

耐心等待加载完毕,注意网络通畅

在这里插入图片描述

2.4 启动项目

  • 点绿色小三角,或者快捷键~

在这里插入图片描述

在这里插入图片描述

2.5 删除一些没用的文件

我们IDEA有可视化的插件,也用不着这些命令行指令

  • 用命令行怎么做,在之前说过,传送门:博客

在这里插入图片描述

直接Delete:

在这里插入图片描述

在这里插入图片描述

3. Spring Boot 工程目录结构

3.1 main

在这里插入图片描述

配置文件:空空如也

  • 这就是前面说的方便性,需要配置才配置

在这里插入图片描述

如设置端口号:

在这里插入图片描述

Spring里面一个重点就是:“约定大于配置”

  • 所以遵循一些约定,才能好好地去开发
  • 不再是强硬要求你去搞一些配置,一些依赖,更多的是遵守约定

目前需要提到的约定就是:

  1. 只有与启动类同级或者是其子目录的类有效
  2. 配置文件的文件名只有是application,才会再启动项目时自动生效
    • 并且配置文件的名字应该是 application-xxx.properties或者application-xxx.yml
    • 这两种配置文件在后续学习重点讲解~

3.2 test

在这里插入图片描述

单元测试则需要学习一些测试知识,后续会更新这方面内容

3.3 target

在这里插入图片描述

这个就是上面的代码生成的字节码,这是运行所必备的

这个目录可以直接删除,反正每次都会生成~

在这里插入图片描述

3.4 依赖管理

pom.xml就是maven的核心配置文件 => 管理依赖

在这里插入图片描述

可以看到,刚才在创建之前勾中的几个依赖就出现在这了~

现在创建之后,我们也可以进行快速导入依赖:

下载安装插件:EditStarters

在这里插入图片描述

在pom.xml内右键:

在这里插入图片描述

选择这个:

在这里插入图片描述

选择官方源:

在这里插入图片描述

可视化的去选择和导入想要的依赖:

  • 可能比较老,所以一些依赖没有,得自己去找

在这里插入图片描述

在这里插入图片描述

出现在右侧:

在这里插入图片描述

点击OK,在外面reload:

在这里插入图片描述

  • 这样依赖就导入了

在这里插入图片描述

这样就可以移除了:

在这里插入图片描述

点击OK:

在这里插入图片描述

  • 依赖就不见了~

4. 网页的方式去创建

传送门:Spring Initializr

在这里插入图片描述

跟刚才差不多的操作:

在这里插入图片描述

点击选择依赖:

在这里插入图片描述

点击 - 就可以删除了~

在这里插入图片描述

点击GENERATE:

在这里插入图片描述

就会生成一个项目压缩包:

在这里插入图片描述

在这里插入图片描述

然后还是得用IDEA去打开~

5. 项目的使用(打印HelloWorld)

在这里插入图片描述

  • 创建一个类,加上注解,至于原理什么的,这是之后的事儿~

  • @RestController注解就是两者之和

    在这里插入图片描述

设置路由:

在这里插入图片描述

浏览器访问:

  • 格式:127.0.0.1:[端口号]/[路由]
  • 不需要项目名,因为一个项目就是单独的Tomcat,单独的一个端口号
    • 就不再是多个项目共用一个Tomcat端口

在这里插入图片描述

  1. 项目可能没有启动
  2. 端口号可能被我们改了

在这里插入图片描述

效果:
在这里插入图片描述

6. 不遵循约定的案例

【每次改动都需要重新启动程序!】

6.1 类的位置

正确位置:

在这里插入图片描述

改动后:

在这里插入图片描述

运行结果:

在这里插入图片描述

在这里插入图片描述

就是找不到~

正确写法:

在这里插入图片描述

运行结果:

在这里插入图片描述

在这里插入图片描述

6.2 配置文件

在这里插入图片描述

在这里插入图片描述

通过配置文件设置端口~

运行结果:

在这里插入图片描述

正确写法:

在这里插入图片描述

运行结果:

在这里插入图片描述

7. 设置热部署

在之前,我们每次改动,都需要重新启动一下,项目才会自动部署去覆盖原本的~

而热部署则是随着项目的更改,自动帮我们重新启动(有点像vscode自动保存那样,但这个的工作量就比较多)

  • 所以能get 那个“热”的意思了吗🤣

设置流程:

在这里插入图片描述

  • 这一个设置后面需要给未来的项目设置

在这里插入图片描述

  • 这一个设置,未来的项目会统一

给未来的项目设置:

在这里插入图片描述

在这里插入图片描述

测试:

在这里插入图片描述


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

这是本文的代码:spring_boot_demo1/src/main/java/com/example/demo · 游离态/马拉圈2023年8月 - 码云 - 开源中国 (gitee.com)


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GCC编译过程:预处理->编译->汇编->链接

目录 引言 概括介绍 一、预处理 二、编译 三、汇编 四、链接 总结 引言 当使用集成开发环境(IDE)进行C语言编程时,点击"编译"按钮后,整个C程序从源代码到可执行文件的生成过程会自动完成。IDE会在后台为我们执行C…

Jwt(Json web token)——使用token的权限验证方法 用户+角色+权限表设计 SpringBoot项目应用

目录 引出使用token的权限验证方法流程 用户、角色、权限表设计权限表角色表角色-权限关联表用户表查询用户的权限(四表联查)数据库的视图 项目中的应用自定义注解拦截器controller层DTO返回给前端枚举类型的json化日期json问题 实体类-DAO 总结 引出 1.…

Linux usb设备固定端口号

Linux usb设备固定端口号 一:/sys/bus/usb/devices/二:设备信息三:固定usb设备名方法 一:/sys/bus/usb/devices/ 信息显示如下 1-0:1.0 1:表示 1 号总线,或者说 1 号 Root Hub0:表示端口号1:表示配置号0:表示接口号命…

flink+kafka+doris+springboot集成例子

目录 一、例子说明 1.1、概述 1.1、所需环境 1.2、执行流程 二、部署环境 2.1、中间件部署 2.1.1部署kakfa 2.1.1.1 上传解压kafka安装包 2.1.1.2 修改zookeeper.properties 2.1.1.3 修改server.properties 2.1.1.3 启动kafka 2.1.2、部署flink 2.1.2.1 上传解压f…

SpringBoot项目-个人博客系统的实现【下】

10.实现强制要求登陆 当用户访问 博客列表页和 博客详情页时, 如果用户当前尚未登陆, 就自动跳转到登陆页面 1.添加拦截器 public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletRespon…

根文件系统制作

1.官网下载工具 制作工具:busybox https://busybox.net/downloads/ 2.制作根文件系统 2.1准备工作 a.把压缩包放在FSP1M目录下,并解压 2.2正式开始 2.2.1配置交叉编译工具链 1. 打开Makefile文件 2. 修改ARCH ?$(SUBARCH) &#xf…

Yolov5缺陷检测/目标检测 Jetson nx部署Triton server

使用AI目标检测进行缺陷检测时,部署到Jetson上即小巧算力还高,将训练好的模型转为tensorRT再部署到Jetson 上供http或GRPC调用。1 Jetson nx 刷机 找个ubuntu 系统NVIDIA官网下载安装Jetson 的sdkmanager一步步刷机即可。 本文刷的是JetPack 5.1, 其中包…

day03

#ifndef __SEQLIST_H__ #define __SEQLIST_H__#include <stdio.h> #include <string.h> #include <stdlib.h>#define MAX 40 typedef int datatype; typedef struct {datatype data[MAX];int len; }seqlist, *seqlistPtr;//创建顺序表 seqlistPtr list_creat…

vscode连接远程Linux服务器

文章目录 一、环境安装1.1 下载vscode1.2 下载vscode-sever 二、ssh链接2.1 安装Remote-SSH2.2 设置vscode ssh2.3 设置免密登录2.3.1 本地生成公私钥2.3.2 服务器端添加公钥 三、安装插件3.1 vscode安装插件3.1.1 在线安装插件3.1.2.1 下载插件3.1.2.2 安装插件 3.2 vscode-se…

Openlayers实战:判断共享单车是否在电子围栏内

共享单车方便了我们的日常生活,解决了后一公里的行程问题。为了解决共享单车乱放的问题,运营部门规划出一些围栏,配合到电子地图上即为电子围栏,只有放在围栏内才能停车结算,在我们的Openlayers实战示例中,即模拟这一场景。 效果图 源代码 /* * @Author: 大剑师兰特(x…

【Git】Git切换地址

如何切换git代码地址&#xff1f; 1、查看当前远程 url git remote -v执行命令后&#xff0c;可以看见当前有2个URL。 远程 URL 在一般情况下有两个&#xff0c;分别是 fetch 和 push。 fetch URL 是用于从远程仓库获取最新版本的数据。当您运行 git fetch 命令时&#xf…

ThreadPoolExecutor线程池详解

ThreadPoolExecutor线程池详解 1. 背景 项目最近的迭代中使用到了ThreadPoolExecutor线程池&#xff0c;之前都只是知道怎么用&#xff0c;没有了解过线程池的底层原理&#xff0c;项目刚上线&#xff0c;有时间整理一下线程池的用法&#xff0c;学习一下线程池的底层实现与工…

运行 Jmeter 文件生成 HTML 测试报告,我选择 ANT 工具

概述 ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具&#xff0c;大多用于 Java 环境中的软件开发。 在与 Jmeter 生成的 jmx 文件配合使用中&#xff0c;ant 会完成jmx计划的执行和生成jtl文件&#xff0c;并将jtl文件转化为html页面进行查看。 还可…

Node.js |(三)Node.js API:path模块及Node.js 模块化 | 尚硅谷2023版Node.js零基础视频教程

学习视频&#xff1a;尚硅谷2023版Node.js零基础视频教程&#xff0c;nodejs新手到高手 文章目录 &#x1f4da;path模块&#x1f4da;Node.js模块化&#x1f407;介绍&#x1f407;模块暴露数据⭐️模块初体验⭐️暴露数据 &#x1f407;导入文件模块&#x1f407;导入文件夹的…

CAPL - XML和TestModule结合实现测试项可选

目录 目的:是否想实现如下面的功能呢? 一、.can和.cin文件中函数开发

C/C++面试总结

一、关键字static、const、extern、volatile作用 1、const 1.修饰常量 用const修饰的变量是不可变的&#xff0c;修饰后的变量只能使用&#xff0c;不能修改。 2.修饰指针 如果const位于*的左侧&#xff0c;eg&#xff1a;const int* a&#xff0c;则const就是用来修饰指针…

研发工程师玩转Kubernetes——hostPath

有别于《研发工程师玩转Kubernetes——emptyDir》一文中介绍的emptyDir&#xff0c;hostPath可以在同一个Node的不同Pod间共享卷。 下面的清单文件利用了Pod亲和性&#xff0c;让Pod集中到一个Node上。 apiVersion: apps/v1 kind: Deployment metadata:name: hostpath-deploy…

Adobe ColdFusion 反序列化漏洞复现(CVE-2023-29300)

0x01 产品简介 Adobe ColdFusion是美国奥多比&#xff08;Adobe&#xff09;公司的一套快速应用程序开发平台。该平台包括集成开发环境和脚本语言。 0x02 漏洞概述 Adobe ColdFusion存在代码问题漏洞&#xff0c;该漏洞源于受到不受信任数据反序列化漏洞的影响&#xff0c;攻击…

FinClip 支持小程序维度域名配置;桌面端体验活动进行中

FinClip 的使命是使您&#xff08;业务专家和开发人员&#xff09;能够通过小程序解决关键业务流程挑战&#xff0c;并完成数字化转型的相关操作。不妨让我们看看在本月的产品与市场发布亮点&#xff0c;看看是否有助于您实现目标。 产品方面的相关动向&#x1f447;&#x1f…

Kafka概论

前言 任何消息中间件&#xff0c;除了基础组件架构外&#xff0c;核心特性无非三个&#xff0c;消息可靠性、消息模型、吞吐量&#xff0c;本文要聊的正是这些东西&#xff0c;其余诸如API、下载安装、集群搭建等都是死的&#xff0c;而且会随着版本的变动而改变&#xff0c;这…