Spring IO平台在Java企业级开发中应用极广,但其基于xml的繁杂配置一直被广大研发人员所诟病。Spring Boot作为对应的解决方案已经超额完成了它的使命。作为快速开发领域的新兴翘楚,其简化了Spring应用的构建、运行、部署等操作,使用者只需编写极少的代码即可完成本需复杂配置的项目构建。同时,Spring Boot具有易学、易用的特点(我有可能把你们带到弯路上)。作为系列学习笔记的第一篇,先从一个简单的Hello World项目(与官方参考文档相同)构建开始。
Spring Boot 作为快速构建项目的工具,其本身完成了许多依赖管理模板。所以在使用Spring Boot时我们需要构建工具的支持。这里用Maven作为实例,来完成项目的构建。
首先来创建一个Maven项目
之后编写pom.xml,配置其父工程为spring-boot-starter-parent
(最后有完整版pom.xml提供复制)
- 之后配置仓库及插件仓库地址(若使用最新版的RELEASE则可跳过次步骤)
- 此处创建一个可运行的web项目,还需要引入对应的依赖。前文中有提到,Spring Boot拥有一系列的依赖模板,此处我们可以直接使用已完成的依赖,引入spring-boot-starter-web依赖
至此已经完成了pom.xml的编写(不要忘记更新下Maven),后面开始编写一个简单的Controller来完成这个简单项目的搭建。
- 首先,我们创建一个简单的Java类,并编写简单的接口方法,如下:
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class Controller {
@RequestMapping("/")
String hello(){
return "Hello World!";
}
}
代码中使用的
@RestController的作用用于标识这个类可以用接受http请求,同时将返回值作为正文返回(相当于@Controller+@ResponseBody)。
@EnableAutoConfiguration 的作用是让Spring针对项目进行配置,配置的依据是所使用的依赖。
@RequestMapping在此处的作用是表示方法的请求路径
最后一步,编写一个main方法作为整个应用的切入点。main方法中委托SpringApplication的run方法,它会引导程序并自动配置tomcat服务器。我们需要把我们编写的类作为主类传递给方法。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class Controller {
@RequestMapping("/")
String hello(){
return "Hello World!";
}
public static void main(String[] args) {
SpringApplication.run(Controller.class, args);
}
}
此时我们已经完成了所以代码的编写,Spring Boot本身继承了Servlet容器,如下图所示:
其默认使用tomcat,所以此时我们只需要执行mvn命令 spring-boot:run即可,无需再进行其他操作。
控制台输出如下
完成启动后,访问localhost:8080/
至此,我们已经完成最简单的hello world搭建。