SpringBoot 连载(一) —— 从环境建置到打包上线(附视频)

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringBoot 连载(一) —— 从环境建置到打包上线(附视频)


 从本篇开始,我将以初学者的身份也开始学习SpringBoot框架。希望对 SpringBoot 这个框架有兴趣的同学可以一起参与进来与小编同步学习.

 微服务架构

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。

该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。


 1 : 创建独立的Spring应用程序.

2 : 嵌入的Tomcat,无需部署WAR文件.

3 : 简化Maven配置.

4 : 自动配置Spring.

5 : 提供生产就绪型功能,如指标,健康检查和外部配置.

6 : 开箱即用,没有代码生成,也无需XML配置.

本次学习我们将以以下环境要求进行学习.如果大家一起学习.为避免出现同代码却出现问题的情况,不妨与小编使用一样的软件配置.

1 : JDK : 1.8 

2 : Maven : 3.3.9

3 : IntelliJ IDEA(V2018)

以上环境软件小编已经上传到到了百度云.大家公众号回复[sbsw]即可下载.


 Maven由于服务器在国外的原因所以大家在Download的时候会很慢,如果使用小编上传的这个Maven,下载会很快.可以达到正常网速,因为小编对Maven的服务器地址进行了修改.建议大家使用小编的这个。

开始之前我们需要对IDEA的Maven进行配置,让环境使用我们的3.3.9自己的这个版本(在Setting功能中),如下图。

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

我们选用IDEA提供的快捷方式进行创建我们的项目,通过这个方式我们可以自由的选择我们本次项目中都用到哪些框架,直接打勾IDE会自动帮我做好框架的导入。

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

第二步,配置我们项目的名称以及版本,开发语言,打包方式等信息。

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 第三步,选择我们项目所需要用到的框架,我们演示以web项目为主。
SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 第四步,选择项目的存放位置。
SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

第五步,创建成功后,IDEA 右下角会出现一个是否自动导入 jar,我们选择 enable,这个配置当我们在修改pom档的时候,IDEA会自动帮我下载或去除jar。如下图.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 项目创建成功后,在IDEA左边的Project模块我们可以看见一个pom.xml。

这个是maven的配置文件,打开如下图.

IDEA 已经自动帮我导入了我们所需要的简单的web架构.

1 : 整个项目继承自SpringBoot Parent项目.

2 : 导入了web的场景启动器.

3 : 导入了测试用到的相关 jar

4 : 导入了打包用到的插件. 

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

上面说过SpringBoot项目不需要Tomcat等服务器软件,因为我们导入web模块的时候,已经内嵌了tomcat来供我们使用,但项目总得启动.没有Tomcat要怎么启动昵.SpringBoot中,我们通过一个Main方法做为程式启动的入口,打开项目IDEA 自动生成的package,我们发现已经有一个与项目同名的 App类文件.他便是 IDEA 为我们自动生成的项目启动程式.

**重点 : **

一 : 该文件必须放在所有其他有注解的类文件包名之上.

    在springboot中我们不需要再去配置各种xml,因为他是自动帮我进行类注解扫描的.就是以这个启动类所在的包为根目录进行扫描.如果把带有注解的其他Class放在大于或不同于该类的package.那么 springBoot就不能自动带我们去扫描并加载这些包名以外的类了.

二 : 该类的类注解

****    这个注解是一个复合注解,包括

    @ComponentScan,

    @SpringBootConfiguration,

    @EnableAutoConfiguration.

    也就是他帮我进行了项目的配置,开启注解.开启扫描.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

此时的项目已经是可以直接运行的一个项目了只要直接运行这个Main方法就可以把项目跑起来了,但是跑起来之后项目空空如也,接下来我们来写一个简单的 HelloWorld。

1 : 创建一个在项目根package下的controller包名.

2 : 创建一个SayHelloController.java.

3 : 我们写一个简单的接收访问请求(与SpringMVC一模一样)

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

因为SpringBoot是一个集成框架.他本身就是把很多框架进行了组合,所以他底层用的还是我们之前用到的一些框架,他做了一件事就是把这些框架做了整合,版本兼容,本次我们之所以在写Controller时用到的注解和SpringMVC一样就是因为他底层用的就是SpringMVC框架。


 1 : 打开HelloWorldApplication运行Main方法,运行结果如下图。

    我们可以看到,IDEA启动了一个Tomcat端口为8080.启动时间14ms.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 2 : 打开浏览器,访问 : 

http://localhost:8080/sayhello;

我们看见了有Hello,World 打印在了页面上.

    SpringBoot 连载(一) : 从环境建置到打包上线(附视频)


 开篇我们介绍了pom档,其中有一个插件配置,如下图,

我们就是利用这个插件来把我们的项目打包成一个jar.然后通过命令去启动我们的项目.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

第一步 : 

在IDEA的最右面,找到package点击运行自动打包.

Maven Projects

    -Lifecycle

        -package

SpringBoot 连载(一) : 从环境建置到打包上线(附视频) SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 第二步 : 

按上图红线部分的路径找到打包生成的这个jar文件,该文件就是我们打包好的可以运行的成品文件.接下来我们通过命令去运行这个jar.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

运行成功如下图.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

 第三步 :

此时我们打开浏览器输入如下地址 :

http://localhost:8080/sayhello

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)

发现可以正常访问.

通过上面的步骤,我们已经成功的把项目打包并运行了起来。

此次,我们成功创建并运行打包上线了一个简单的WEB项目,相对之前我们用到的其他框架来说,无疑这个非常简单,全程没有XML.以及其他配置文件.

本文章为SpringBoot的连载系列.从入门到应用到嵌入其他框架的使用.跟着小编一起来学吧.下期我们来讲一下SpringBoot的一些原理.高级配置.还是以简单的方式来讲解.欢迎持续关注.

公众号回复

[sbd]   : 本期的Demo程式.

[sbsw] :小编所用的JDK,Maven,IDEA.

[2037] :下载小编所看的SpringBoot视频.

原创不易,点个赞分享出去吧.感谢支持.

SpringBoot 连载(一) : 从环境建置到打包上线(附视频)
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> SpringBoot 连载(一) —— 从环境建置到打包上线(附视频)


 上一篇
SpringMVC常用注解标签详解 (二) SpringMVC常用注解标签详解 (二)
上一篇文章我们写了SpringMVC的一些注解,本篇我们来进一步聊一下 SpringMVC 的其他注解,上一篇没有看的可以去公众号的历史推广中看一下也可点击下方链接查阅。 该注解主要是用于将请求URL中的模板变量映射到功能处理方
2021-04-05
下一篇 
SpringBoot 连载(二) —— 场景启动器分析(附视频) SpringBoot 连载(二) —— 场景启动器分析(附视频)
上期我们对学习SpringBoot的环境要求以及软件要求做了简单介绍并做了一个HelloWorld的Demo.并提供了小编所使用的工具.如果上期没有看过的同学建议先通过下面的链接或关注公众号先看上一期的. 本期内容不长,但却非常重要,
2021-04-05