概述
1、环境说明
2、HelloWorld项目细节
3、小结
一. 关于环境补充
在上一篇的HellWorld项目中,我们构建SpringBoot项目,采用的是jdk1.8版本,springboot官方建议配合jdk1.7及其以上版本来开发springboot。而如springboot1.5.8中一些@Repeat注解都是jdk1.8才有的,所以建议是jdk1.8版本及以上来开发。同时,SpringBoot提供嵌入式的Tomcat,直接打成jar包便可运行。IDEA打包过程如下:
包的位置默认位置是在target目录下 。打包好后,可以通过在命令行 java jar xxx.jar 直接运行。 并且,我们可以通过解压工具看一下,这个xxx.jar中的内容。来到lib目录下,我们可以看到有导入tomcat-embed字样的包,这就是springboot内嵌的tomcat容器,可以直接运行这个springboot的jar包,不需要打成war放到webapp目录中运行。其中也导入了运行web项目所需的基本jar包,均是自动化配置。
二. Hello World项目的细节
看完了环境,接下来看看该项目的pom.xml文件,来看看为什么springboot能替我们做了这么多“人性化”的工作。
在POM文件中,我们可以看到有如下的,不同以往的配置。我们来一 一解释。
1. 父级依赖
①、首先看到我们的是springboot-helloworld.pom.xml文件中依赖了此父级依赖
②、ctrl + 左键 点击 spring-boot-starter-parent 进入此父项目,发现其也依赖一个父项目
③、点击spring-boot-dependencies,进入查看父项目 ,可以发现,这里文件中配置了大量的版本依赖属性,
ps : 在标签中,在此不截图。
可以看到,在 spring-boot-dependencies项目中配置了我们熟知的一些组件的版本,如连接池、切面、json版本。它是真正管理 SpringBoot组件版本的 管理中心。因为它的存在,只要它有配置的,我们都可以不配置依赖的版本,SpringBoot自动帮助我们配置。当然,我们也可以自己添加、修改没有的或者已有的组件的版本,只需要在我们自己项目的pom.xml文件的
spring-boot-dependencies.pom默认配置:4.3.20.RELEASE
自己的pom文件中加入即可修改:
2. starter 启动器
何为“启动器”,自然是通过这个“东西”去启动对应的特定功能。同样的,我们能在父项目 spring-boot-dependencis.pom中看到,在
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test
没错,它的功能就是,我们需要什么功能的组件,就导入什么 starter ,springboot就可自动为我们添加该组件。上述我们需要springboot的web功能,就对应配上spring-boot-starter-web 组件。着实方便。
3.插件
在helloworld中的插件:
org.springframework.boot spring-boot-maven-plugin
这个插件是帮助我们打成jar包用。在初涉springboot(一)中,我们通过 package命令直接打成jar包而不是war,得益于此。
4. @SpringBootApplication 注解
在主程序入口中,我们是通过执行此注解所在类的main方法跑动项目的,这个注解标识此为主程序类,是一个Spring Boot应用。此注解要放在其他类的同级目录或子目录之下,否则会找不到其他类。(这是个坑,因为SpringBoot默认配置了扫描的位置。) 关于@SpringBootApplication注解后续会详述。
三.小结
要称为一个SpringBoot项目,就需要标注 @SpringBootApplication注解代表程序入口;
启动器starter引入功能;
父级依赖的spring-boot-dependencies.pom则配置了默认版本。
三者相互作用,跑动第一个SpringBoot项目。
如有错误,敬请斧正,以免误导他人。