总结一下,之前入门SpringBoot的过程中最开始的项目搭建。
首先,先说明这里我的JDK和Maven版本如下:
第一步:初始化一个SpringBoot项目
提供两种方式,第一种我们可以在Spring的官网上去下载一个Spring的demo,就是在https://start.spring.io/去选择你的配置项,如下图,我们可以配置一些信息,如打包方式,需要的模块等等,然后就可以下载一个自己配置的demo了,最后用IDEA打开即可。
第二种,就是我们IDEA中初始化一个SpringBoot项目,如下图所示:
new 一个project,这里我们配置一个Maven项目,
选择需要的模块,
项目路径,
最终生成的项目如下(其实和第一种方式是一样的),demo中提供了一个SpringBoot的启动类,测试类和一个配置文件
第二步:启动demo并测试
我们先写一个Controller,便于测试
(如果第一种的话,导入项目后,先转成一个Maven项目)我们直接可以启动这个项目了,这里我们介绍3种启动方式:
第一种,直接运行我们的启动类即可,这种也是最常用的方式。
第二种,在项目路径下,运行"mvn spring-boot:run"即可,如下图所示:
第三种,先将项目打包,然后运行打包后生成的jar包即可。
项目启动后,测试Controller,url访问:
或者
简单说明:
分析上图pom,首先该项目模块依赖start-parent这个Spring官方的模块作为父工程,该模块中引入了大量的依赖(当然只是规定了依赖的版本号),可以看到我们在当前模块中的dependency中在去引入某些依赖的时候,就不用再去指定版本号了。pom中还引入了一个插件(plugin),这个插件的作用就是生成可执行的jar包,如上面第三种项目启动方式,会有两个jar包,其中一个.original就是实际该模块代码打出的包,不包含其他内容,这个包不可执行。而另一个jar包就是可执行的,同时它包含了.original的内容,同时还有依赖的所有jar。这个jar的结构和普通的jar是不一样的,它会有Web容器,所以我们直接运行这个jar,就可以访问到项目资源,而不要外置容器了。当然,也可以选择打成一个war包,将其放置到外部容器中运行。
还有一点就是:可能有这种情况,我们想要依赖其他做父模块,但是Maven仅支持单继承,因此SpringBoot提供了解决方案,就是通过import scope这种方式来引入SpringBoot的版本配置依赖,代替原先继承的start-parent,这样我们就可以继承我们想要继承的父模块,同时还保证了SpringBoot的版本配置依赖。