SpringBoot入门教程详解

目录
  • 一、SpringBoot简介
  • 二、SpringBoot入门案例
    • 1、创建项目
    • 2、编写 Controller 类
    • 3、启动项目
    • 4、使用 Postman 测试
  • 三、SpringBoot VS Spring
  • 四、在官网中构建工程
  • 六、SpringBoot 是如何实现简化开发的
    • 1、启动依赖
    • 2、引导类
  • 七、切换 Web

一、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入门教程详解的详细内容,更多关于SpringBoot入门的资料请关注我们其它相关文章!

(0)

相关推荐

  • SpringBoot快速入门详解

    Spring Boot是什么? Spring Boot并不是什么新的框架,它是对Spring的缺点进行了改善和优化,Spring Boot默认了很多的框架使用方式,像maven整合了所以jar包同一个道理.及SpringBoot并不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式而已. 为什么使用Spring Boot? Spring Boot官方是这么说的:Spring Boot它是基于Spring开发项目的起点,Spring Boot的设计主要是让你快速地跑起来Spri

  • SpringBoot入门原理及优势分析

    目录 1.springboot可以干嘛用? 2.Spring Boot 的优势: 3.Spring Boot 的使用 4.创建Handler类 5.创建启动类 1.springboot可以干嘛用? 通过 Spring Boot 可以快速构建⼀个基于 Spring 框架的 Java Application,简化配置,自动装配. JavaConfiguration ⽤ Java 类替代 XML 的配置⽅式. Spring Boot 对常⽤的第三⽅库提供了配置⽅案,可以很好地和 Spring 进⾏整合

  • SpringBoot实战教程之新手入门篇

    目录 1.SpringBoot简介 2.SpringBoot安装 2.1.基于Maven的安装 2.2.基于Gradle的安装 3.创建HelloWorld应用 4.代码结构 5.Configuration类 5.1.导入其它配置 6.自动化配置 6.1.逐渐替换自动化配置 6.2.禁止特定的自动化配置 7.使用@SpringBootApplication注解 总结 1. SpringBoot 简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spri

  • SpringBoot新手入门的快速教程

    SpringBoot是什么? SpringBoot是spring家族中微型框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,您可以"运行". 特征: 创建独立的Spring应用程序 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件) 提供自以为是的"入门"依赖项以简化构建配置 尽可能自动配置Spring和第三方库 提供生产就绪功能,例如指标,运行状

  • Springboot快速入门教程

    入门Springboot 项目创建在IDEA中创建即可. 注意点: 1.所有文件都需要放在 : Application文件的同级或下级目录中 2.application.properties 为 spring-boot 项目主核心配置文件,且只能有一个核心配置文件. 3.多环境下的核心配置文件的使用, 文件名必须以 application- 开头!   application-xxx.properties (1)开发环境 # 开发环境配置文件 server.port=9000 server.se

  • SpringBoot入门教程详解

    目录 一.SpringBoot简介 二.SpringBoot入门案例 1.创建项目 2.编写 Controller 类 3.启动项目 4.使用 Postman 测试 三.SpringBoot VS Spring 四.在官网中构建工程 六.SpringBoot 是如何实现简化开发的 1.启动依赖 2.引导类 七.切换 Web 一.SpringBoot简介 SpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化 Spring 应用的初始搭建以及开发过程. 我们在学习 S

  • ABP(现代ASP.NET样板开发框架)系列之二、ABP入门教程详解

    ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ABP 的由来 "DRY--避免重复

  • Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)

    什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码.在较高层面上,组件是自定义元素,Vue.js 的编译器为它添加特殊功能.在有些情况下,组件也可以是原生 HTML 元素的形式,以 is 特性扩展. 接下来给大家介绍vuejs单向绑定.双向绑定.列表渲染.响应函数基础知识,具体详情如下所示: (一)单向绑定 <div id="app"> {{ message }} </div> <sc

  • BootStrop前端框架入门教程详解

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. bootstrap 的学习非常简单,并且它所提供的样式又非常精美.只要稍微简单的学习就可以制作出漂亮的页面. bootstrap中文网:http://v3.bootcss.com/ bootstrap提供了三种类型的下载: -----------------------------------------------

  • Node.js+Express配置入门教程详解

    Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好.Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型

  • JSON Web Token(JWT)原理入门教程详解

    目录 一.跨域认证的问题 二.JWT 的原理 三.JWT 的数据结构 3.1 Header 3.2 Payload 3.3 Signature 3.4 Base64URL 四.JWT 的使用方式 五.JWT 的几个特点 六.参考链接 一.跨域认证的问题 互联网服务离不开用户认证.一般流程是下面这样. 1.用户向服务器发送用户名和密码. 2.服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色.登录时间等等. 3.服务器向用户返回一个 session_id,写入用户的 Co

  • JS库之Three.js 简易入门教程(详解之一)

    开场白 webGL可以让我们在canvas上实现3D效果.而three.js是一款webGL框架,由于其易用性被广泛应用.如果你要学习webGL,抛弃那些复杂的原生接口从这款框架入手是一个不错的选择. 博主目前也在学习three.js,发现相关资料非常稀少,甚至官方的api文档也非常粗糙,很多效果需要自己慢慢敲代码摸索.所以我写这个教程的目的一是自己总结,二是与大家分享. 本篇是系列教程的第一篇:入门篇.在这篇文章中,我将以一个简单的demo为例,阐述three.js的基本配置方法.学完这篇文章

  • Redis入门教程详解

    目录 Redis 一.Redis基本数据结构 1. 字符串 (String) 2. 散列(hash) 3. 列表(list) 4. 集合(Set) 5. 有序集合(sorted set) 二.Redis的高级数据结构 1. HyperLogLog 2. GEO 3. BitMap 三.Redis 高级特性 1. Redis事务 2. 发布订阅 3. 脚本 4. Redis Stream 四.Redis使用场景 1. 业务数据缓存 2. 业务数据处理 3. 全局一致计数 4. 高效统计计数 5.

  • 网络抓包工具wireshark入门教程详解

    Wireshark(前称Ethereal)是一个网络数据包分析软件.网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据. Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换. 网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用Wireshark来学习网络协定的相关知识. 当然,有的人也会"居心叵测"的用它来寻找一些

  • dubbo整合springboot新手入门教程详解

    前言 目前互联网公司,大部分项目都是基于分布式,一个项目被拆分成几个小项目,这些小项目会分别部署在不同的计算机上面,这个叫做微服务.当一台计算机的程序需要调用另一台计算机代码的时候,就涉及远程调用.此时dubbo就粉末登场了. 搭建工程 idea新建工程后,删除src文件夹,然后在gradle文件中输入 buildscript { repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }

随机推荐