![5f4410f642bb6f8854acf9dc43ace845.png](https://img-blog.csdnimg.cn/img_convert/5f4410f642bb6f8854acf9dc43ace845.png)
在经历了使用Servlet+JSP时代后,我们开始使用SSM、SSH这样的框架开发我们的Web程序,但是Spring项目的配置文件还是过于复杂,各种配置xml文件就能让你不胜其烦,写个切面就需要花费你大半的时间。
不过还好,这时候注解问世,我们通过注解能够快速的进行后端开发,可这xml文件依旧如同鬼魅一般如影随形。
现在,我们不能忍了,我们开始使用SpringBoot进行一站式开发,通过一个Application.property文件就能将我们使用到的大部分参数囊括其中,可以说经过了框架更新和迭代,我们进行Web项目的搭建是越来越简便了。我们经历了那个resources文件夹下无数xml文件的时代,如今是时候开始拥抱SpringBoot了。
创建SpringBoot项目的途径看似蛮多的,实际上都是经过
https://start.spring.iostart.spring.io这玩意创建的,通过它我们能够得到一个maven项目的压缩包,下载导入IDE就可以直接使用。
或者你可以通过IDE的STS(Spring Tool Suite)插件去快速创建它,如果你尚未安装此插件。笔者使用的是Eclipse,在Eclipse的Marketplace直接搜索STS后直接下载即可。
![d1246eb0e407d6f2312502a004f98b70.png](https://img-blog.csdnimg.cn/img_convert/d1246eb0e407d6f2312502a004f98b70.png)
或者你可以手动创建Maven项目去创建SpringBoot项目,可以修改pom.xml添加Spring Boot的父级依赖Spring-boot-starter-parent,添加该依赖后SpringBoot项目便成功创建。
如果只是这样,那么SpringBoot谈不上比以往轻型,我们能够发现它在pom.xml文件中整合了大量的Starter,这些Starter集成了我们想要的许多jar包,通过在pom文件中加入这些Starter就能够导入各种包的依赖。
![926abf4e73683bb57ea931e900c92110.png](https://img-blog.csdnimg.cn/img_convert/926abf4e73683bb57ea931e900c92110.png)
以上就是使用Eclipse的Spring Starter Project插件在创建项目之前可以导入的各种依赖。
值得注意的是在2.0.0以前的版本默认的Web容器还是Tomcat,而在2.0.0之后我们所使用的Web容器则变成了Netty,这在我们初始化项目的时候便可以看到。
那么pom.xml文件中的各种配置是什么呢?可以简要阐述一下:
![387d02debfb13377f81c7c5962e068e2.png](https://img-blog.csdnimg.cn/img_convert/387d02debfb13377f81c7c5962e068e2.png)
这段便是我们的父级依赖,通过它导入了相关的Maven依赖。可以看到当前的SpringBoot项目版本为1.5.19,如果想了解该pom可以直接ctrl+左键查看。
而在dependencies中导入的最重要的便是spring-boot-starter-web,它是web支持的starter,几乎将所有web相关依赖囊括了。
![b7501a563e8bddfec1f7104d287a55cd.png](https://img-blog.csdnimg.cn/img_convert/b7501a563e8bddfec1f7104d287a55cd.png)
或者是开发时十分需要的devtools热部署依赖
![c717bbcf17b46086e98b1d963ac82c22.png](https://img-blog.csdnimg.cn/img_convert/c717bbcf17b46086e98b1d963ac82c22.png)
还有作为模板引擎存在的Thymeleaf
![9a6b6c97924ce4aeef2cbd72dabb7196.png](https://img-blog.csdnimg.cn/img_convert/9a6b6c97924ce4aeef2cbd72dabb7196.png)
而SpringBoot编译插件则是build节点下的spring-boot-maven-plugin
![8f761cd80a16be1e2f2993c8ddcec7bb.png](https://img-blog.csdnimg.cn/img_convert/8f761cd80a16be1e2f2993c8ddcec7bb.png)
通过它使我们的启动类能够被编译然后启动项目。
在做完了这些之后如果你的8080端口被占用的话需要更改内部使用端口,创建你的Controller层使用自己设置的url便可以访问页面了。
项目的配置文件Application.properties将xml的功能直接代替掉了,以下是我使用的比较常见的配置参数:
![0c714a726755e12be86fa7f3d79e5216.png](https://img-blog.csdnimg.cn/img_convert/0c714a726755e12be86fa7f3d79e5216.png)
我们知道,在早期Servlet+JSP是捆绑在一起的,而使用SpringBoot后,它所推荐的模板引擎是Thymeleaf(我也不知道这个辣鸡模板引擎是谁想出来的),它的许多标签使用和JSTL很像,其次是它对于Html页面的元素审查的十分严格,所以说要不要用就见仁见智。
如果是只使用静态资源的话那就得看个人喜好了。
![141687a0f0509122a700f5d079984e7a.png](https://img-blog.csdnimg.cn/img_convert/141687a0f0509122a700f5d079984e7a.png)
需要注意的是,我们项目一开始就存在的类:Application.java就是我们项目的启动器,@SpringBootApplication是Springboot项目的核心注解,它的目的是开启自动配置。而@MapperScan是扫描我们Dao层的各种方法和实例。
并且,我们的所有类都应该放在Application.java下,如果不这么做项目会直接报错。
至此,一个SpringBoot初级项目创建就完成了。