【SpringBoot】快速入门
博客主页:准Java全栈开发工程师
00年出生,即将进入职场闯荡,目标赚钱,可能会有人觉得我格局小、觉得俗,但不得不承认这个世界已经不再是以一条线来分割的平面,而是围绕财富旋转的球面,成为有钱人不是为了去掌控球体的转向,而是当有人恶意掌控时,努力保护好家人和自己。
一、SpringBoot 简介
- SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。
- 我们在学习 Spring 的时候说过 Spring 框架是为了简化开发的,而 SpringBoot 是为了简化 Spring 开发的,由此可见,使用 SpringBoot 开发将会更加的方便简捷。
- 那 SpringBoot 是如何简化开发的呢?我们以一个入门案例来说明。
二、SpringBoot 入门案例
1、创建项目
- 我使用的 IDEA 版本偏低,可能页面会有些许不同,但是大体应该还是一致的。
- 使用 Spring Initializr 需要保证在联网的情况,但是有时在联网时也无法成功创建,可以使用下述方式,将网址改为阿里云的,我就是第一种方式怎么也创建不了,改用阿里云之后就可以了。
- 因为我们是进行 Web 开发,所以我勾选了 Spring Web。之后还可以勾选一些比较使用的开发工具等。
- 为项目命名。
- 点击 Finish 创建成功后,项目结构如下图所示。
2、编写 Controller 类
- 先抛开实体类、数据访问层和业务逻辑层等内容,我们直接简单测试一下表现层。
@RestController
@RequestMapping("users")
public class UserController {
@GetMapping("/{id}")
public String getById(@PathVariable Integer id){
System.out.println("id ==> " + id);
return "{'msg':'qdxorigin'}";
}
}
- 上述代码采用了 REST 风格开发,简单模拟根据 ID 查询信息。
3、启动项目
- 能够明显看到 Spring 的图像,且在加载信息中看到了和 tomcat 相关的内容,但是我们并没有配置 tomcat 啊?这就是 SpringBoot 更方便的一点,它内部自己给我们配置了 tomcat ,我们之后都无需再自己配置 tomcat 了。
4、使用 Postman 测试
- 与此同时,控制台也获取到了 ID 值。
三、SpringBoot VS Spring?
- 通过练习入门案例,我们发现了,SpringBoot 内部会给我们配置 tomcat ,我们无需再自己配置。
- 除此之外,在之前的 SSM 开发中,我们会自己在 pom.xml 文件中手动配置许多依赖,但是在 SpringBoot 中我们并没有修改 pom.xml 文件中的任何内容,仅仅在创建项目的时候勾选了 Spring Web,使得 SpringBoot 将我们需要的依赖配置好了。
- 在整合 SSM 时,我们还手动书写了许多的配置类,但是 SpringBoot 中这些内容统统都不需要我们自己配置了。
- SpringBoot 还有许多非常便捷的地方,目前较为明显的是上述三个优化。
四、在官网中构建工程
- 进入官网,官网地址。划到后面,找到下图,点击 Spring Initializr (有没有感觉很熟悉,在 IDEA 创建项目时是不是也是这个)。
- 看到下图,有没有感觉和我们使用 IDEA 创建项目时遇到的非常相似啊。其实使用 IDEA 工具创建也会走这一套流程。
- 在右边区域添加依赖,搜索选择添加的依赖。
- 同样会在下面呈现所选择的依赖。
- 全部都完成之后,点击 GENERATE 创建项目。
- 创建完成之后会生成一个压缩包,我们可以解压之后,导入 IDEA 中开发使用。
- 通过浏览压缩包中内容会发现和我们通过 IDEA 创建的项目结构是一模一样的。
五、打包 SpringBoot 项目
- 在 pom.xml 文件中,提供有如下插件,所以我们可以使用 Maven 的 package 指令打包,完成后会在 target 目录下生成对应的 jar 包。
- 此时,在 target 文件夹中已经能够看到 jar 已经打包好了,如果前端人员需要,可以将打包好的 jar 包拷贝给他,他可以直接运行调试自己的前端代码。
- 前端人员拿到 jar 包后,在该位置输入 cmd 进入我们常说的小黑框。
- 输入 java -jar 命令。
- 有没有感觉到一些熟悉,没错,这和我们在 IDEA 中呈现的效果是一样的。
- 此时我们就可以访问项目的所有资源了。
六、SpringBoot 是如何实现简化开发的?
- 前面说过,SpringBoot 是可以简化 Spring 应用开发的,通过入门案例我们也能够明显的感觉到使用 SpringBoot 框架开发的便利,那么它是如何简化开发的呢?
- 这其中就不免需要介绍两个非常重要的内容。
1、启动依赖
- 通过查看 pom.xml 文件中的代码,我们不难发现有许多命名为 starter 的依赖。
- 这些依赖中又引用了许多其他 starter 依赖。
- 这也就告诉我们,在 SpringBoot 项目中,如果想要使用某个技术,直接导入相应的 starter 依赖就可以了,配置所需要的内容在该 starter 依赖中都有,给我们节省了很大一部分精力。
2、引导类
- 当工程创建完成后,都会自动提供一个引导类,该类是程序启动的入口,当我们想要自动程序时,直接运行 main 方法即可。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- 正式因为有了这些启动依赖和引导类,我们就能够专注于业务代码,而无需对一些配置工作而耗费精力,简化开发。
七、切换 Web 服务器
- 通常情况下,我们都会使用 tomcat 作为项目的服务器,但是如果某天我们想要切换自己的服务器,该如何操作呢?
- 在此以切换为 jetty 服务器为例简单演示下如何操作。
- 第一步,我们需要将 starter 依赖中自动配置的 tomcat 服务器排除掉,使其失效。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
- 此时我们再启动工程,会发现打印的信息中找不到和 tomcat 相关的了。
- 第二步,导入 jetty 依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
- 此时,再次启动项目,看到了 jetty 相关打印信息,说明已经成功切换了服务器。
以上就是文章的全部内容啦,诸佬如果有任何建议都可以提哦。
创作不易,如果觉得对您有帮助的话,欢迎关注点赞收藏哦。
【SpringBoot】快速入门的更多相关文章
- SpringData 基于SpringBoot快速入门
SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战 ...
- SPRING-BOOT系列之SpringBoot快速入门
今天 , 正式来介绍SpringBoot快速入门 : 可以去如类似 https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/refer ...
- SpringBoot快速入门01--环境搭建
SpringBoot快速入门--环境搭建 1.创建web工程 1.1 创建新的工程. 1.2 选择maven工程,点击下一步. 1.3 填写groupid(maven的项目名称)和artifacti ...
- SpringBoot基础篇-SpringBoot快速入门
SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...
- Springboot快速入门篇,图文并茂
Springboot快速入门篇,图文并茂 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! image-20 ...
- SpringBoot快速入门(实战篇一)
SpringBoot快速入门(一) 一SpringBoot简介 1.spring开发经历的阶段 Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 ...
- SpringBoot快速入门(一)
本文内容 SpringBoot概述 SpringBoot快速入门 SpringBoot起步依赖原理分析 SpringBoot配置 SpringBoot整合其他框架 1.SpringBoot概述 1.1 ...
- Java开发学习(三十五)----SpringBoot快速入门及起步依赖解析
一.SpringBoot简介 SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 使用了 Spring 框架后已经简化了我 ...
- springboot快速入门(四)——数据库操作
一.Spring-Data-Jpa的引入 先给出官方文档:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/ IBM ...
- springboot快速入门02--Controller编写和测试
02springboot快速入门--Controller编写和测试 1.新建一个HelloController import org.springframework.boot.SpringApplic ...
随机推荐
- Spring Boot-切换嵌入式Servlet容器
首先我们先查看Spring Boot中支持几种嵌入式容器 选中ConfigurableWebServerFactory类,点击ctrl+h键,查看 切换到jetty容器步骤如下 1.排除掉tomcat ...
- redis集群在线迁移第二篇(redis迁移后调整主从关系,停掉14机器上的所有从节点)-实战二
变更需求为: 1.调整主从关系,所有节点都调整到10.129.51.30机器上 2.停掉10.128.51.14上的所有redis,14机器关机 14机器下线迁移至新机房,这段时间将不能提供服务. 当 ...
- Metalama简介1. 不止是一个.NET跨平台的编译时AOP框架
Metalama是一个基于微软编译器Roslyn的元编程的库,可以解决我在开发中遇到的重复代码的问题.但是其实Metalama不止可以提供编译时的代码转换,更可以提供自定义代码分析.与IDE结合的自定 ...
- Hyperledger Fabric 部署在多个主机上
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...
- 应用程序application和库工程library之间的切换
知识点: Application作为应用程序启动:apply plugin: 'com.android.application' Library作为库工程被引用: apply plugin: 'com ...
- Python标准库tempfile的使用总结
Python标准库tempfile的使用总结 临时文件是计算机程序存储临时数据的文件,它的扩展名通常是".temp".本文用于记录使用Python提供的临时文件API解决实际问题的 ...
- Ubuntu 20.0.4 安装 NVIDIA N卡 驱动 画面撕裂 解决方法
电脑 联想 Y7000 系统 Ubuntu 20.0.4 显卡 NVIDIA 1050TI 以下操作需要管理员权限 编辑文件,如果没有新建一个 /lib/modprobe.d/nvidia-graph ...
- css3 做出顶边倾斜的 梯形 div
效果图: <html> <head> <meta charset="utf-8"> <title>顶边倾斜的div梯形</ti ...
- 印尼医疗龙头企业Halodoc的数据平台转型之路:数据平台V1.0
1. 摘要 数据是每项技术业务的支柱,作为一个健康医疗技术平台,Halodoc 更是如此,用户可以通过以下方式与 Halodoc 交互: 送药 与医生交谈 实验室测试 医院预约和药物 所有这些交互都会 ...
- Spring 源码(8)Spring BeanPostProcessor的注册、国际化及事件发布机制
上一篇文章https://www.cnblogs.com/redwinter/p/16198942.html介绍了Spring的注解的解析过程以及Spring Boot自动装配的原理,大概回顾下:Sp ...