0 前言
Spring Boot是伴随着Spring 4.0诞生的;
接触过Spring的,应该对其繁琐的配置,大跌眼镜,但不可否认Spring确实是相对完整的企业级框架。因而Spring Boot并不是一个新事物,而是帮助开发者能够更为快速的搭建Spring框架。其优势在于自动化配置,部署简单,但同时也有一定的隐患,如果没有一定的Spring开发经验,处理问题可能不会那么简单。
个人感觉,Spring Boot并不是适合初学者,更适合有一定开发经验的同学。
貌似应该已经入门了,入门即实战,开发工具建议使用IDEA。
1 Hello World
通过IDEA构建Spring Boot项目,基本步骤如下:
1.1 新建项目,选择Spring Initializr
1.2 项目创建完成,得到的项目结构如下:
其中,
DemoApplication.java:含main()方法的类,用于启动应用程序;
DemoApplicationTests.java:空的测试类;
application.properties:空的properties文件,可以根据自己需要进行添加;
pom.xml:maven构建说明文件。
1.3 pom.xml解析
可以自己查看生成的pom.xml文件,这里重点介绍其中几个主要配置项。
1.3.1 父依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
spring-boot-starter-parent是一个较为特殊的starter,它用来提供相关的maven默认依赖,使用它之后,一些常用的包依赖可以省去version标签。
1.3.2 起步依赖
起步依赖,都是以spring-boot-starter-xxx命名的。顾名思义,是自动为你封装好了一些你想要实现的功能的依赖。这些依赖如果自己手动去配置,会需要一定的时间。因此,Spring Boot通过提供众多起步依赖一定程度上降低了项目依赖的复杂度。
1.3.3 Spring Boot Maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Spring Boot Maven插件提供的主要功能是项目的打包,可将应用程序的所有依赖打入Jar中,并为Jar添加一个描述文件,其中的内容能让你用java -jar来运行应用程序。
1.4 应用程序编写
正如前面所言,DemoApplicaton是一个很重要的启动类,为程序的入口。为了简化演示,不再新建控制类,直接在入口类中编写,添加@RequestController及print方法,如下:
package com.spring.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class DemoApplication {
@RequestMapping("/")
public String print() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
其中,
@SpringBootApplication的目的是开启自动配置;
main方法是一个标准的Java应用的main方法,为项目启动的入口;
@RestController注解的作用是使用这个注解的类里面的方法都以json格式输出。
1.5 程序启动
Spring启动结果如下:
打开浏览器访问http://localhost:8080(默认端口8080),看到的效果如下:
1.6 总结
这样的入门还是蛮简单暴力的,新建一个Spring Boot项目,添加一个控制类,启动就能看到效果了。