背景:Spring Framework的缺点
多年以来,Spring Framework 饱受非议的一点就是大量的XML配置以及复杂的依赖管理。在2013年的SpringOne 2GX会议上,Pivotal的CTO Adrian Colyer回应了这些批评,并且特别提到该平台将来的目标之一就是实现免XML配置的开发体验。Boot 所实现的功能超出了这个任务的描述,开发人员不仅不再需要编写XML,而且在一些场景中甚至不需要编写繁琐的import语句。在对外公开的beta版本刚刚发布之时,Boot描述了如何使用该框架在140个字符内实现可运行的web应用,从而获得了极大的关注度,该样例发表在Twitter上。
为什么使用Spring Boot
SpringBoot对上述Spring的缺点进行的改善和优化,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。
SpringBoot的特点
- 为基于Spring的开发提供更快的入门体验
- 开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求
- 提供了一些大型项目中常见的非功能性特性,如嵌入式服务器、安全、指标,健康检测、外部配置等。约定大于配置
- SpringBoot不是对Spring功能上的增强,而是提供了一种快速使用Spring的方式。
搭建SpringBoot项目
第一种方式:官网创建
访问 boot官网创建,如下图所示:
下载后进行解压,并用idea打开即可。
第二种方式:IDEA创建
添加完依赖后,选择next,在设置项目名称和存储位置,点击finish即可创建。
第三种方式:普通Maven项目创建
创建完成后会有如下的目录:
在static目录下创建一个HTML文件
然后执行启动类
启动结果如下
在浏览器输入http://localhost:8080/进行访问
这样最简单的一个Spring项目就搭建完成了。
基于SpringBoot项目的Web开发说明
嵌入式的Web服务器:
SpringBoot 已经集成了 Tomcat,以后就不用像传统 Web 开发那样还需要下载一个 Tomcat 程序,配置然后再启动了。只需要启动生成的启动类即可。
默认的Web资源文件夹:
SpringBoot 默认会使用 src/main/resources 目录下的如下文件夹作为Web资源文件夹:
- /static:静态资源文件夹,如html,js,css等存放
- /public:静态资源文件夹,同上
- /templates:模版资源文件夹(后端模版框架使用的模版文件,会解析变量后再生成动态 html,)
- application.properties 作为启动的配置文件
注:在以上路径中的资源,服务路径不需要在前边再加 /static,/public。如在 static 文件夹下的home.html ,服务路径为:/home.html。如果是使用普通Maven项目搭建,可以自行创建以上文件夹,在 src/main/resources 下创建public 和 static 文件夹即可。
默认的自动扫描
==SpringBoot默认会扫描启动类所在包,==只要位于该包以下的使用了Spring注解的类,都可以注册到容器中,如以前学过的@Controller,@Service等。
示例:如启动类为 org.example.Application ,则可以扫描到
org.example.controller.LoginController 中的类注解@Controller。
默认的配置文件
SpringBoot默认使用 src/main/resource/application.properties 作为启动的配置文件,可以自定义如启动端口等等配置。如果是使用普通Maven项目搭建,在 src/main/resources 下创建 application.properties ,内容为空即可。
默认的应用上下文路径
SpringBoot启动的Web项目,应用上下文路径默认为 /
启动类
如果是使用普通Maven项目搭建,可以自行编写启动类:类上使@SpringBootApplication 注解:这样这个类就是启动类了。