# (一)概述 {#一-概述}
SpringBoot作为现在工作中最常用的一个框架,大部分人对他都只做到了会用这一步,但是SpringBoot的许多细节却被我们所忽略掉了,因此我打算写这样一个有关SpringBoot的系列文章,争取能让不管是新手还是老手都能从中再学到东西。
# (二)快速搭建一个SpringBoot项目 {#二-快速搭建一个springboot项目}
新建一个项目,选择Spring Initialize,这是SpringBoot快速搭建的入口,我们可以看到这里默认有一个网站,其实这个网址就是Spring官网快速开发SpringBoot项目的入口。
点开这个网站,其实就是一个快速生成springboot项目的网站,在这里选择各项配置后,点击生成会自动生成一个压缩包,这个压缩包解压后即可直接导入到idea中。
当然通过idea直接生成会更加方便,点击next后,下一个页面的功能其实和官网一样,填写项目名,选择语言,java版本等,选择完成后点击next
在下一个页面,可以选择你想要引入的jar包以及Springboot的版本,所有选择到的依赖包都会在最右侧的Selected Dependencies中展示,选择好后点击next,等待maven依赖安装好后即可。
最后生成一个完整的项目,配置过程中所选择的依赖都会出现在pom.xml中。如果遇到maven无法下载的问题建议改个maven的镜像。直接运行启动类,项目成功启动。
# (三)分析目录结构 {#三-分析目录结构}
我们观察一下当前目录结构,所有的代码放在src/main/java下,配置文件和资源文件放在src/main/resources,测试代码放在src/test下。 target目录为编译后的class文件目录,所有的依赖放在pom.xml文件中。
我们再来看看启动类,我们跟随源码可以发现,启动类其实就是一个组件。进入SpringBootApplication注解。
再点进SpringBootConfiguration注解,可以看到我们十分熟悉的configuration注解,这个注解就是一个Component
# (4)POM.XML {#_4-pom-xml}
通过maven,我们不再需要手动导入jar包,只需要配置pom.xml文件即可: 我们来分析一下pom的结构
首先是标签代表该项目有一个父项目,spring-boot-starter-parent。下面其他的命名均为创建项目时自己配的。
最底下的build标签所引入的是打包插件,我们要将项目打包为jar包或者war包就需要这个依赖。 接下来是最重要的依赖引入,所有外部仓库中引入的依赖放在dependencies中
<dependencies>
<!-- web依赖:集成tomcat、dispatchServlet、xml等 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency></dependencies>
到这里我想你也已经可以很轻松的自己创建一个springboot项目。
# (5)打包 {#_5-打包}
前面我们引入了打包插件,这里直接对刚刚新建的项目进行打包。直接双击package即可自动进行打包。
如果显示的是打包失败,需要配置一下打包插件:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins></build>
接着便会显示Build Success,在target包下多了一个jar包,就是你项目所生成的jar包。 这个jar包我们可以直接通过java -jar命令去运行
如果把这个jar包放在服务器上,便可以让所有人来访问你写的这个springboot项目,岂不美哉。
# (六)一个小彩蛋 {#六-一个小彩蛋}
在运行SpringBoot项目时,首先会出来一个Spring的标志,这个标志也可以说是SpringBoot的小彩蛋。修改这个图标的方式也很简单,在application.properties的同级目录下新建一个banner.txt,然后在里面画出你想要展示的图标即可,推荐一个自动生成banner的网站:https://www.bootschool.net/ascii-art