学习SpringBoot入门知识,附带教程源码分享,快速掌握开发技巧-【imooc-java2021】体系课-Java工程师 2022版

news2024/11/23 8:52:25

学习SpringBoot入门知识,附带教程源码分享,快速掌握开发技巧

  • 目录
    • 福利:文末有分享SpringBoot教程及源码哦
  • 一、Spring Boot 是什么
  • 二、为什么要使用 Spring Boot
  • 三、快速入门
    • 3.1 创建 Spring Boot 项目
      • 3.1.1 通过 Spring Initializr 来创建
        • 1、访问 Spring Initializr 地址:https://start.spring.io:
        • 2、生成项目, 导入到开发工具中
        • 3、File -> New -> Model from Existing Source, 可参考下图:
        • 4、弹出框中,选中您的解压后的文件夹 -> OK -> 选择通过 Maven 的方式来导入项目:
        • 5、一路点击 Next -> Finished;
      • 3.1.2 通过 IntelliJ IDEA 来创建应用
        • 1、File -> New -> Project, 跳出新建项目弹出框:
        • 2、点击 Next,弹出填写 maven 项目的需要的相关信息,这里我们用默认的就好了,继续点击 Next;
        • 3、再次弹出框,这里可以勾选开发中需要的 Starter 的组件, 如 Web, Redis 等,我们这里暂时不勾,后面通过手动添加的方式, 继续点击 Next -> Finish;
    • 3.2 项目结构
    • 3.3 引入 Web 依赖
    • 3.4 编写第一个接口
    • 3.5 启动程序,验证效果
  • 四、总结

目录

福利:文末有分享SpringBoot教程及源码哦

在这里插入图片描述

一、Spring Boot 是什么

以下截图自 Spring Boot 官方文档:

在这里插入图片描述

翻译整理一下,内容如下:

Spring Boot 是基于 Spring 框架基础上推出的一个全新的框架, 旨在让开发者可以轻松地创建一个可独立运行的,生产级别的应用程序。
基于 Spring Boot 内部的自动化配置功能,开发者可以在"零"配置, 或者只需要添加很少的配置,就可以进行日常的功能开发。

二、为什么要使用 Spring Boot

用权威说话,下图同样截图自 Spring Boot 官方文档:

在这里插入图片描述

我们再来翻译整理一下,内容如下:

1、能够轻松、方便地创建一个 Spring 应用;
2、直接使用内嵌的 Tomcat, Jetty, Undertow 容器(无需再手动安装容器,通过部署 WAR 包的方式);
3、内部自动管理各种 Jar 包的版本依赖关系,再也不用为版本冲突而烦恼啦;
4、自动化配置 Spring 相关功能,以及第三方库;
5、提供诸如指标,健康检查, 外部化配置等功能;
6、“零配置”,再也不需要手写地狱般的 XML 配置了;

怎么样,看了 Spring Boot 这些强大的特性以后,是不是开始跃跃欲试了,接下来,让我们快速入门 Spring Boot 吧 !

PS: 正由于 Spring Boot 以上特性,才得以使它成为构建微服务架构的基础组件。

三、快速入门

3.1 创建 Spring Boot 项目

3.1.1 通过 Spring Initializr 来创建

1、访问 Spring Initializr 地址:https://start.spring.io:

在这里插入图片描述

默认情况下,Spring Initializr 生成的项目是通过 Maven 来构建的,开发语言为 Java, 版本用的最新的发行版,打包方式为 Jar, 使用的 Java 版本为 1.8,小伙伴们这里要注意一下!

2、生成项目, 导入到开发工具中

点击 GenerateProject 按钮,下载的 Demo.zip, 解压后,导入到开发工具中,这里笔者使用的是 IntelliJ IDEA。

3、File -> New -> Model from Existing Source, 可参考下图:

在这里插入图片描述

4、弹出框中,选中您的解压后的文件夹 -> OK -> 选择通过 Maven 的方式来导入项目:

在这里插入图片描述

5、一路点击 Next -> Finished;

至此,通过 Spring Initializr 网站来创建应用,并导入到了我们的开发工具 IntelliJ IDEA 中就成功了。

PS: 如果您使用的是 Eclipse, 方式是 Import -> Existing Maven Projects -> Next ->
选择解压后的文件夹 -> Finsh

3.1.2 通过 IntelliJ IDEA 来创建应用

其实,我们还可以直接通过 IntelliJ IDEA 来创建一个 Spring Boot 项目,因为 IntelliJ IDEA 内置了 Spring Initializr,接下来,通过图文,让我们来看下要如何一步一步操作:

1、File -> New -> Project, 跳出新建项目弹出框:

在这里插入图片描述

2、点击 Next,弹出填写 maven 项目的需要的相关信息,这里我们用默认的就好了,继续点击 Next;

3、再次弹出框,这里可以勾选开发中需要的 Starter 的组件, 如 Web, Redis 等,我们这里暂时不勾,后面通过手动添加的方式, 继续点击 Next -> Finish;

3.2 项目结构

项目创建成功后,可以看到结构如下:

在这里插入图片描述

共分为三个主要的文件夹:

  • src/mail/java: 存放 Java 源码,包括启动程序的入口;
  • src/mail/resources: 资源目录,用于放置相关配置文件,静态文件 html, css 等;
  • src/test/java: 存放单元测试类

3.3 引入 Web 依赖

在 pom.xml 文件中添加 web 依赖:

<dependency>

    
<groupId>
org.springframework.boot
</groupId>

    
<artifactId>
spring-boot-starter-web
</artifactId>

</dependency>

PS: 不用手动去指定版本号,因为 Spring Boot 内部已经维护相关 Jar 包的依赖关系。

3.4 编写第一个接口

在 com.example.demo 包下添加 controller 包,用来存放所有对外部开发的接口, 完成后,创建 HelloController.java 类, 添加一个 /hello 接口:

@RestController

public
 
class
 
HelloController
 
{
@GetMapping("/hello")
    
public String hello ()
 
{

        
return
 "Hello, Spring Boot !";
}
}

添加 @RestController 注解,表示此类中所有定义的接口均为 RESTFul 风格,也就是说返参均为 JSON 格式的。

@GetMapping(“/hello”) 表示定义一个 GET 请求的接口,路径为 /hello。

3.5 启动程序,验证效果

在这里插入图片描述

根据图示,点击按钮,来启动 Spring Boot Web 程序, 查看控制台输出:

  
.
   ____          _            __ _ _

 
/
\\ 
/
 ___
'_ __ _ _(_)_ __  __ _ \ \ \ \

( ( )\___ | '
_ 
|
 
'_| | '
_ \/ _
` | \ \ \ \

 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )

  '  |____| .__|_| |_|_| |_\__, | / / / /

 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::        (v2.1.4.RELEASE)



2019-04-14 19:57:59.795  INFO 3680 --- [           main] com.example.demo.DemoApplication         : Starting DemoApplication on 192.168.0.100 with PID 3680 (/Users/a123123/Work/IdeaProjects/demo/target/classes started by allen-jiang in /Users/a123123/Work/IdeaProjects/demo)

2019-04-14 19:57:59.798  INFO 3680 --- [           main] com.example.demo.DemoApplication         : No active profile set, falling back to default profiles: default

2019-04-14 19:58:00.666  INFO 3680 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)

2019-04-14 19:58:00.689  INFO 3680 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]

2019-04-14 19:58:00.689  INFO 3680 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.17]

2019-04-14 19:58:00.756  INFO 3680 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext

2019-04-14 19:58:00.757  INFO 3680 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 920 ms

2019-04-14 19:58:00.978  INFO 3680 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'

2019-04-14 19:58:01.183  INFO 3680 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''

2019-04-14 19:58:01.186  INFO 3680 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 1.678 seconds (JVM running for 2.176)

当控制台日志中输出了 Tomcatstarted on port(s):8080(http)withcontext path’'时,表示内嵌的 Tomcat 容器已经启动成功了,端口为 8080 !

接下来,我们在浏览器上访问 http://localhost:8080/hello 接口,验证一下,接口是否能够正常访问:
在这里插入图片描述

返回了我们想要的 Hello,SpringBoot! 字符串,接口访问正常,大工告成!

四、总结

本文中,我们首先了解了什么是 Spring Boot, 以及Spring Boot 的相关特性,最后我们手把手学习了如何搭建一个 Spring Boot 项目,并编写了第一个接口且访问成功。

通过实际操作,真切地感受到了 Spring Boot 的魅力所在!老铁,双击 666!
在这里插入图片描述

在这里插入图片描述
关注微信公众号:资源充电吧
回复:SpringBoot
【imooc-java2021】体系课-Java工程师 2022版
夸克网盘:https://pan.quark.cn/s/bbaec39732e0#/list/share

关注公众号,你想要的资源全都有,超多资源全部免费纯分享哦

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

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

相关文章

微信小程序入门开发懂你找图小程序

文章目录 搭建 tabbar页面路径 首页模块tabs组件需求推荐组件精选大图月份热门分类模块需求 分类详情业务 首页模块专辑模块需求 专辑详情精美视频需求 视频详情需求 图片详情需求 搭建 tabbar 页面路径 页面名称路径首页index横屏horizontal精美视频video搜索search我的mine …

MySQL——存储引擎于索引应用

文章目录 一、 存储引擎1.1 MySQL结构1.2 存储引擎简介1.3 存储引擎特点1.3.1 InnoDB1.3.1.1 InnoDB 基本介绍1.3.1.2 InnoDB 逻辑存储结构 1.3.2 MyISAM1.3.3 Memory 1.4 三种引擎特点及区别1.5 存储引擎选择 二、 索引 - 重点2.1 介绍2.2 索引结构2.2.1 B-Tree 多路平衡二叉树…

【Linux:动态库与静态库】

1 动态库与静态库的概念 静态库&#xff08;.a&#xff09;&#xff1a;程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。 动态库&#xff08;.so&#xff09;&#xff1a;程序在运行的时候才去链接动态库的代码&#xff0c;多个程序共享使…

企业微信4.1.6 版本新功能介绍

一、效率工具与基础体验优化 文档 文档增加了丰富的模板&#xff0c;包含项目管理、日报周报、信息收集等多种场景&#xff0c;帮助了解更多文档功能&#xff0c;助力日常工作。 权限管理新增了「成员加入确认」开关&#xff0c;开启后需要管理员确认才能添加成员&#xff0…

相爱相杀的在线帮助文档语雀、Baklib、石墨文档,到底有何区别?

在线帮助文档是现代企业不可或缺的一部分&#xff0c;它提供了针对特定产品或服务的详细说明和指南&#xff0c;以帮助用户更好地理解产品或服务并解决问题。目前市面上有许多在线帮助文档工具&#xff0c;其中语雀、Baklib和石墨文档是比较受欢迎的三种&#xff0c;本文将对它…

卸载旧版本Keil,安装新版本的注意事项以及安装完成以后的一些问题

1. 资料 这里使用的是MDK536安装包和Keil.STM32F4xx_DFP.2.16.0安装包&#xff08;因为板子是正点原子stm32F407的&#xff09;&#xff1b; 安装包放到下面&#xff08;安装包也是在网上找的&#xff0c;里面还是比较全的&#xff0c;有C51&#xff0c;以及注册机等&#xf…

只做笔记有必要买apple pencil吗?好写的电容笔排行榜

随着科技的发展&#xff0c;出现了许多新的电子器件和数码器件。比如智能手机&#xff0c;比如ipad&#xff0c;比如电容笔等等。但实际上&#xff0c;想要让ipad发挥出最大的作用&#xff0c;就必须要有一支好的电笔。就像是我们在ipad上写字&#xff0c;总是要手写&#xff0…

硬件工程师-电路设计1-概念

学习电路设计及分析需要掌握的三大定律详解 1、遵循 源 回路 阻抗 分析回路上的节点&#xff0c;分析节点的内阻&#xff0c;电压&#xff0c;功率电流 2、分析电路上的波形&#xff1a;电路设计的过程就是波形整形的过程 波形整形&#xff1a;幅值的整形 波的…

CNNs:ZFNet之基于AlexNet特征可视化实验分析

CNNs:ZFNet之基于AlexNet特征可视化实验分析 导言基于AlexNet网络的实验分析实验一:不同卷积层特征提取分析实验二&#xff1a;不同卷积层提取特征收敛分析 ZFNet网络介绍基于ZFNet网络的实验分析实验三&#xff1a;针对AlexNet特征提取改善可视化实验四&#xff1a;特征不变性…

HW之轻量级内网资产探测漏洞扫描工具

简介 RGPScan是一款支持弱口令爆破的内网资产探测漏洞扫描工具&#xff0c;集成了Xray与Nuclei的Poc 工具定位 内网资产探测、通用漏洞扫描、弱口令爆破、端口转发、内网穿透、SOCK5 主机[IP&域名]存活检测&#xff0c;支持PING/ICMP模式 端口[IP&域名]服务扫描 网…

腾讯云图形验证码申请流程

目录 一、官方指引二、操作步骤1.步骤1&#xff1a;新建验证&#xff0c;获取验证码密钥2.步骤2&#xff1a;客户端接入验证码&#xff0c;展示验证页面3.步骤3&#xff1a;服务端接入验证码&#xff0c;调用票据校验 API 进行二次校验 一、官方指引 https://cloud.tencent.co…

为什么mac插入了u盘没反应 苹果mac插上usb后怎么找到

U盘使用简单&#xff0c;便于携带&#xff0c;几乎每个mac用户都有一个u盘。使用新的u盘的时候&#xff0c;你有没有遇到过mac插入了u盘没反应的情况呢&#xff1f;如果你是初次接触Mac电脑&#xff0c;使用u盘可能会手足无措&#xff0c;因为Mac系统和Windows存在差异&#xf…

苹果 App Store 出现山寨ChatGPT;Anthropic宣布获得4.5亿美元C轮融资

&#x1f680; 中国互联网协会提醒公众警惕“AI换脸”的新骗局 中国互联网协会提醒公众警惕“AI换脸”的新骗局&#xff0c;不法分子利用AI技术通过声音合成、伪造面部表情等实施诈骗。 公众应加强个人信息安全与防范措施&#xff0c;如加强个人信息保护、防止信息泄露、安装…

BLE连接通信

// BLE连接有关的技术分析 前言 本文的论述流程&#xff1a; 将传统的连接通信与广播进行对比&#xff0c;指出其不足说明BLE是如何制定规范解决这些问题写出完整的连接通信流程&#xff0c;并对能影响BLE连接通信的参数进行分析 1 连接通信的不足 保持连接是一个相当消耗…

代码随想录算法训练营15期 Day 2 | 977.有序数组的平方 、209.长度最小的子数组 、59.螺旋矩阵II 、总结

977.有序数组的平方 题目建议&#xff1a; 本题关键在于理解双指针思想 题目链接&#xff1a;力扣 思路一&#xff1a;暴力解算&#xff0c;直接将所有元素变成一个平方&#xff0c;然后进行排序。 class Solution { public:vector<int> sortedSquares(vector<int&g…

maven常用插件详解

官网讲解&#xff1a;https://maven.apache.org/plugins/ Maven 实际上是一个依赖插件执行的框架&#xff0c;它执行的每个任务实际上都由插件完成的。Maven 的核心发布包&#xff08;jar&#xff09;中并不包含任何 Maven 插件&#xff0c;它们以独立构件的形式存在&#xff…

数据翻译的代码辅助插件,一个注解搞定,减少30%SQL代码量

一、开源项目简介 Easy Trans是一款用于做数据翻译的代码辅助插件&#xff0c;利用MyBatis Plus/JPA/BeetlSQL 等ORM框架的能力自动查表&#xff0c;让开发者可以快速的把ID/字典码 翻译为前端需要展示的数据。 二、开源协议 使用Apache-2.0开源协议 三、界面展示 四、功能概…

CTF入门指南

何为CTF &#xff1f; CTF&#xff08;Capture The Flag&#xff09;夺旗比赛&#xff0c;在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会&#xff0c;以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。…

文档关键信息提取形成知识图谱:基于NLP算法提取文本内容的关键信息生成信息图谱教程及码源(含pyltp安装使用教程)

文档关键信息提取形成知识图谱&#xff1a;基于NLP算法提取文本内容的关键信息生成信息图谱&#xff08;含pyltp安装使用教程&#xff09; 1. 项目介绍 目标&#xff1a;输入一篇文档&#xff0c;将文档进行关键信息提取&#xff0c;进行结构化&#xff0c;并最终组织成图谱组…

Cisco® Catalyst® 8000V 边缘软件 (Catalyst 8000V) 17.11.1a 发布 - 虚拟路由器

Cisco Catalyst 8000v Edge Software, IOS XE Release Dublin-17.11.1a ED 请访问原文链接&#xff1a;https://sysin.org/blog/cisco-catalyst-8000v/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org Cisco Catalyst 8000V 边…