引言
如果我们要搭建一个Spring Web项目,我们一般怎么做呢?
- 配置web.xml,加载Spring和Spring Mvc;
- 配置数据库连接、配置Spring事务;
- 配置加载配置文件的读取,开启注解;
- 配置日志文件;
- 。。。。。。。
- 配置完成后部署tomcat调试;
- 。。。。。。。
使用传统的Spring,对于任何一个工程,无论工程大小,我们都得这么去折腾一遍!开发的小盆友有没有赶脚很烦?
那么有没有一个框架,我们只需要很少的配置就可以将项目迅速搭建起来呢?有!
有请神奇而强大的Spring Boot上场!
什么是Spring Boot
Spring Boot是Pivotal团队提供的一套全新框架,其设计目的是简化新的Spring应用的搭建工作和开发过程。简单而言,Spring Boot不是什么新的框架,它只是默认配置了很多框架的使用方式,通过它提供的start,简化了依赖包的设置。使用Spring Boot,可以轻松的创建独立运行的程序,非常容易地构建独立的服务组件,是实现分布式架构、微服务架构的神兵利器。
Spring Boot的优点
其实Spring Boot的优点已经在引言里介绍的差不多了,简单总结起来,就以下几点:
- 轻松创建独立的Spring应用程序。
- 内嵌Tomcat、jetty等web容器,不需要部署WAR文件。
- 提供一系列的"starter"来简化的Maven配置。
- 开箱即用,尽可能自动配置Spring。
当然,光说不练假把式,好不好?用了才知道。
Spring Boot快速入门
maven构建项目
步骤一

步骤二

步骤三

步骤四

项目结构
项目构建完成后,项目结构如下所示:

Spring Boot建议的目录结构如下所示:
com
+- example
+- myproject
+- Application.java
|
+- domain
| +- Customer.java
| +- CustomerRepository.java
|
+- service
| +- CustomerService.java
|
+- controller
| +- CustomerController.java
|
主要有以下几点需要注意:
- Application.java建议放到根目录下,主要用于做一些框架的配置;
- domain主要用于实体(Entity)与数据访问层(Repository);
- service主要是业务代码;
- controller主要是页面访问控制。
采用默认配置可以省去很多配置,当然也可以根据自己的喜好或者具体业务来进行配置。
最后启动Application main方法,到此整个项目便搭建起来。 很简单的有木有?
引入web模块
在项目根目录下的pom.xml中添加支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
完善controller逻辑
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
@RestController的注解表示Controller里面的方法均以json格式输出,不用再写fastjson或jackjson等配置。
完善Applicaiton的逻辑
我们需要通过Application类的main()方法来启动整个应用。
Application会在项目创建时自动生成,具体代码如下:
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
启动应用程序并访问
万事俱备,只欠东风。现在选中Applicaton文件,右键run,程序即可运行起来。
运行启动后,使用浏览器访问http://localhost:8080/,即可看到有一个Hello World页面出现。
当然,也可以在Controller中编写更复杂的逻辑,然后通过浏览器、Fiddler、Postman等工具去访问,此处就不再赘述。
总结
综上所述,Spring Boot可以很方便快捷地帮我们构建起项目,我们不必过于关心框架之间的兼容性、试用版本等问题,想用什么框架,只需要添加几行配置即可。由此可以看出,Spring Boot不愧是构建微服务的神兵利器!