【进阶】Spring Boot创建和使用

news2024/9/22 5:38:10

努力经营当下,直至未来明朗!

文章目录

  • 一、Spring Boot 概述
  • 二、Spring Boot优点
  • 三、Spring Boot项目创建
    • 1. 使用IDEA创建(社区版)
    • 2. 网页版创建(了解)
  • 四、项目目录介绍和运行
    • 1. 项目目录介绍
    • 2. 输出hello world
  • 五、注意事项
  • 小结


普通小孩也要热爱生活!

一、Spring Boot 概述

  1. Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发
    的。
  2. Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。

二、Spring Boot优点

  1. 快速集成框架,Spring Boot 提供了启动添加依赖的功能,⽤于秒级集成各种框架。
  2. 内置运⾏容器,⽆需配置 Tomcat 等 Web 容器,直接运⾏和部署程序。
  3. 快速部署项⽬,⽆需外部容器即可启动并运⾏项⽬。
  4. 可以完全抛弃繁琐的 XML,使⽤注解和配置的⽅式进⾏开发。
  5. ⽀持更多的监控的指标,可以更好的了解项⽬的运⾏情况。


Spring Boot 缺点

① 迭代速度快
② 国外网站,有时访问速度较慢
③ 由于不用自己做配置,报错时比较难定位(但这是高级框架都会有的通病)


三、Spring Boot项目创建

1. 使用IDEA创建(社区版)

1)需要先安装一个Spring Assistant插件:file -> settings ->pluggings -> 搜索并安装Spring Assistant

注:可能会出现没有Spring Assistant插件的情况:
① 原因:版本不兼容:版本太老或太新
② 解决方法:更换idea到合适版本(可以2021.3.2版);
or 使用其他功能类似的插件,如Spring Boot Assistant
0

2)创建项目:file -> new -> project -> 左边选择 Spring Assistant -> 直接点击Next -> 填写相关信息 -> next

默认的Spring Boot是国外源:https://start.spring.io

(如果是专业版,此时选择的是Spring Initializr)
1
2

3)选择Spring Boot版本(推荐不加英文的稳定版本) -> 然后添加 DevTools(热部署)、Lombok、Spring Web -> Next
3

4)设置项目名称、路径 -> Finish -> 如果下方的滑条加载完成且左边的标识变为蓝色的C则项目创建完成(橙色的J图标是未完成)
5
6
(注:蓝色java包是源代码,绿色java包是测试代码)

5)补充:加了@SpringBootApplication的类就是Spring Boot 的启动类
此时日志中有running的时间,并且打印出Spring的图标则证明运行成功。
7

6)如果Spring Boot项目使用国外源创建速度比较慢的话,可以使用国内数据源(阿里云)

8
其中Spring Boot的版本中RELEASE是稳定版

7)注:JVM只认识字节码文件,DevTools能够感知代码的变化,帮助自动重启Spring Boot生成新的字节码文件。

8)注意:第⼀次打开 Spring Boot 项⽬需要加载很久,因为当前 Spring Boot 框架并没有在⾃⼰的本地仓库

9)为了加速 Spring Boot 项⽬的下载,在打开项⽬之前,请先确认⾃⼰的 Maven 已经配置为国内源:
(可以先删除本地仓库,然后重新reload)

注意:将Maven配置为国内源的方法:2.1.3Maven项目配置国内源


2. 网页版创建(了解)

网页版的Spring Boot项目最后会保存为zip压缩包形式

1)打开Spring Boot创建的网站:Spring Boot
2)选择项目类型、语言等,并添加依赖,等完成后点击generate来生成项目
3)此时就会生成zip压缩文件了
4)解压该zip项目目录,然后使用idea打开解压后的项目(idea中file -> open),此时就可以使用idea进行修改了。
5)在idea中打开该项目后,删除无效文件,如 .mvn(通过命令行进行操作)、HELP.md、mvnw以及mvnw.cmd都是无效文件。
10


四、项目目录介绍和运行

1. 项目目录介绍

11

在修改代码正确情况下,如果运行结果一直是之前的结果,可能是target调用了之前缓存的class字节码文件没有更新,此时删除target文件夹然后重新启动就行!!


2. 输出hello world

1)一定要在和启动类DemoApplication平级的路径下创建源文件/包(或者是平级路径下的子目录中也是ok的)。

2)在该源文件的类上加上五大类注解,在方法上加上访问路由@RequestMapping(保证获取到地址)

补充:@RequestMapping既可以加到方法上,又可以加到类上。

① 如果加到方法上,说明使用一级目录就可以访问到该方法;
② 如果类和方法上都有,那就说明要先访问类,然后再访问方法

@RequestMapping(“/xxx”),设置路由地址,一定要带/,并且所有字母一定是小写!!
(Windows对大小写不敏感,Linux对大小写敏感)

3)在方法上加上@ResponseBody注解之后就说明返回的是一个非静态页面的数据(如果不加该注释,默认返回的是页面的名称)。
13

4)此时就可以运行,访问方式:localhost:8080/xxx
15


五、注意事项

Spring Boot核心思想:约定大于配置

  1. 所有和启动类DemoApplication同级的类/包都会被扫描,看是否加了五大类注解。

  2. 如果加了五大类注解,在Spring Boot启动的时候,就会去初始化这些加了注解的类。

  3. 小结:
    ① 需要托管到SpringBoot / Spring 的对象必须要放在SpringBoot启动类的根路径或是子路径中,否则不能被框架识别。
    ② SpringBoot配置是比较少的,但是SpringBoot的设计思想是:约定大于配置


小结

  1. Spring Boot是为了快速开发Spring框架
  2. Spring Boot优点:快速集成框架、内置运行容器、快速部署项目、注解和配置、更多的监控指标
  3. Spring Boot项目创建的两种方式:主要掌握IDEA
  4. Maven项目国内源配置方式
  5. 类创建在启动类DemoApplication平级路径下,并加上五大类注解,加上访问路由@RequestMapping(“/xxx小写”)(类or方法都ok),给方法上加上@ResponseBody(返回非静态页面数据)

yy

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

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

相关文章

Win10 Hyper-V 固定虚拟机IP地址的方法

Windows10系统Hyper-V中存在着一个名为“Default Switch”的缺省虚拟交换机,其本质上是一块虚拟网卡,其所连接的虚拟网络的类型为"Internal"(有关Hyper-V三种网络类型的含义,可参看《Hyper-V三种虚拟网络类型的理解_bol…

“深度学习”学习日记。误差反向传播法--算法实现

2023.1.18 经过学习了计算图、链式法则、加法层、乘法层、激活函数层、Affine层、Softmax层的反向传播的实现。今天来学习反向传播法的算法实现,做一次总结; 实现的思路(“学习”的步骤): 一,前提 神经…

4.Java的基础语法

小伙伴们,本篇内容让我们一起来总结学习Java的基础语法吧!😉 文章目录一、注释二、关键字三、字面量(也被叫做:常量/字面值常量)四、一些特殊字面量的书写五、变量(1)变量的定义格式:(2)输出打印变量:(3)变量的基本用法:(4)变量的注意事项:(5)变量的练习总结一、注释…

【第二章 Excel数据格式】

Excel数据格式1.Excel数据格式2.更改单元格格式2.1数值型数据的更改2.2文本型数据的更改2.3日期型数据的更改2.4日期型数据、数值型数据->文本型数据1.Excel数据格式 数字、文本和日期是最常用的三种数据格式, 数字一般右对齐,方便观测数据位数&am…

mac ganache安装以及在metamask创建ganache网络和账户导入

在做区块链本地测试时,需要测试网络、测试账户以及测试币,可以使用ganache来启动本地网络以及生成账户进行测试。 一、下载及安装ganache 首先下载ganache, 网址是这个https://trufflesuite.com/ganache/ 下载好后进行安装。 安装好以后使用…

Allegro如何让BUS线以粗线形式显示操作指导

Allegro如何让BUS线以粗线形式显示操作指导 在评估PCB布线的时候,设置好Bus线对于评估非常有帮助,Allegro不仅可以支持设置Bus组,还可以让Bus线以粗线形式显示,如下图 具体操作如下 选择Edit-PropertyFind选择nets

【algorithm】算法基础课---二分查找算法(附笔记 | 建议收藏)

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:AcWing算法学习笔记 💬总结:希望你看完…

几种常用的权重初始化方法

来源:投稿 作者:175 编辑:学姐 在深度学习中,权重的初始值非常重要,权重初始化方法甚至关系到模型能否收敛。本文主要介绍两种权重初始化方法。 为什么需要随机初始值 我们知道,神经网络一般在初始化权重…

【EasyExcel】在Java中操作Excel 完成数据的导入导出

快速入门 引入依赖 构建实体类 数据导出 参数 WriteWorkbook WriteSheet WriteTable 测试 数据导入 测试 EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一…

【Ajax】form表单

一、form表单的基本使用什么是表单表单在网页中主要负责数据采集功能。HTML中的<form>标签&#xff0c;就是用于采集用户输入的信息&#xff0c;并通过<form>标签的提交操作&#xff0c;把采集到的信息提交到服务器端进行处理。2. 表单的组成部分<!-- 表单标签 …

Android 深入系统完全讲解(27)

讲完了这块&#xff0c;我们来说下相机相关的&#xff0c;再说之前一定记得&#xff0c;先要有框架思维&#xff0c;这点一直是我 强调的。 相机是什么&#xff0c;硬件采集数据上来&#xff0c;解析完成&#xff0c;上层绘制&#xff0c;在绘制的时候&#xff0c;同步可以做特…

iOS 国际化(多语言)

一、应用程序国际化 包括app名称和各种权限的提示文字。 1.1 创建工程&#xff0c;再在“PROJECT”的“Info”里面&#xff0c;添加所需语言。 1.2 从代码中分离出文本 创建一个 “.strings” 扩展名的文件 来本地化字符串&#xff0c;需要把这些字符串全部放在一个单独的文…

【医学数据融合文本方向 思路整理】

Scalable and accurate deep learning for electronic health records【2018】 本论文在于介绍 Google Medical Brain 项目的目标、方法和规划。 思路&#xff1a; 用病情描述&#xff0c;预测疾病诊断&#xff0c;预测死亡率 用病情描述加治疗方案&#xff0c;预测复诊率和住院…

Elasticsearch7.8.0版本高级查询—— 查询所有文档

目录一、初始化文档数据二、查询所有文档示例一、初始化文档数据 在 Postman 中&#xff0c;向 ES 服务器发 POST 请求 &#xff1a;http://localhost:9200/user/_doc/1&#xff0c;请求体内容为&#xff1a; {"name":"张三","age":22,"sex…

Zookeeper 【下载与安装,基本使用】

目录 1. 什么是zookeeper 2. zookeeper下载与安装 3. Zookeeper 测试 1. 什么是zookeeper zookeeper实际上是yahoo开发的&#xff0c;用于分布式中一致性处理的框架。最初其作为研发Hadoop时的副产品。 由于分布式系统中一致性处理较为困难&#xff0c;其他的分布式系统没有…

SAP MTO/MTS操作步骤及月末结算

一、MTO/MTS操作步骤 【MTO核算方式】 是以销售订单触发生产的方式。 创建销售订单 VA01 运行物料需求计划 MD01 查询物料需求 MD04 计划订单转化为生产订单 MD04/CO01 生产订单成本计算以及下达 CO02 生产订单发料 MB1A 生产报工 CO11N 完成品入库 MB31 非限制库存转移到销售…

C# opencv多模板匹配实战应用例程

C# 多模板匹配例程 最近在做项目的时候为了检测某一种物品的齐套性&#xff0c;以及为了和写c#的软件负责人配合自己研究了一下opnencv C# 版的模板匹配&#xff0c;对基础的例程做了一下改进&#xff0c;留一份例程。 因为工作性质原因不能直接放项目的实际图片我用visio简单…

我的个人微信也迅速接入了 ChatGPT

本文主要来聊聊如何快速使用个人微信接入 ChatGPT&#xff0c;欢迎 xdm 尝试起来&#xff0c;仅供学习参考&#xff0c;切莫用于做不正当的事情 关于 ChatGPT 我们每个人都可以简单的使用上&#xff0c;不需要你有很强的技术背景&#xff0c;不需要你有公众号&#xff0c;甚至…

Chat GPT 创建APP: 开发人员要被替代了吗?

我们又要被人工智能取代了吗&#xff1f;GitHub Copilot 于 2021 年 10 月发布&#xff0c;整个开发社区都为之疯狂。有些人发表言论说我们很快就会失业&#xff0c;而其他人&#xff08;比如我&#xff09;&#xff0c;认为虽然这个工具很有趣&#xff0c;但距离替代人工还很远…

【Django框架】——25 Django视图 07 状态保持Session

文章目录1.session流程图2.session语法与案例3.session配置cookie不安全&#xff0c;会把所有敏感数据放到浏览器保存。 session是把敏感数据存到自己的服务器中给浏览器一把钥匙就行了&#xff08;是基于cookie完成的&#xff09;。 Django 提供对匿名会话(session)的完全支…