相信接触过SpringMVC框架的各位,或多或少对一些反复粘贴的XML配置感到厌烦。在每次开始新的Spring项目,我们都要花一定功夫复制粘贴XML配置。
现在Spring家族出现一款SpringBoot框架,它采大量默认配置,省掉配置XML的繁琐步骤,而且让我们的Spring应用更加轻量化,更快地进入开发。
本文主要讲述如何建立一个SpringBoot应用。
开发环境:
- idea2017
- JDK1.8
第一步,打开idea,新建一个项目。
填好项目信息,点击next。
勾选web模块,然后一路next下去。
新建成功,项目结构如下:
- src/main/java/com/rocky/Springdemo1Application.class:SpringBoot程序入口,要运行该项目时,直接在Springdemo1Application.class右键run。
- resources/static:放置静态资源,例如css,js等。
- resources/templates:放置html模板。
- resources/application.properties:项目配置文件
- test/java/com/rocky/Springdemo1ApplicationTests.class:SpringBoot程序测试入口。
第二步,编写一个HelloWorld的服务,返回JSON数据。
新建一个com.rocky.controller包,并在此包下新建一个HelloWorldController.class。在这里要注意,HelloWorldController.class要建在Springdemo1Application.class 所在包同级目录下或者子包目录下,否则SpringBoot应用启动后会扫描不到HelloWorldController.class。原因是SpringBoot应用会根据使用@SpringBootApplication注解的Springdemo1Application.class所在的包名,设置默认的扫描包路径为com.rocky。
代码如下:
package com.rocky.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* Created by rocky on 17-7-26.
*/
@RestController
public class HelloWorldController {
@GetMapping(path = "/hello")
public Map<String,Object> hello() {
Map<String, Object> map = new HashMap<>();
map.put("status", "success");
map.put("msg", "HelloWorld");
return map;
}
}
此时,运行Springdemo1Application.class,访问http:localhost:8080/hello即可看到返回JSON数据。SpringBoot默认的端口是8080,但由于我的8080端口被其他程序占用,于是在application.properties添加以下代码,改变项目的访问端口。
server.port=8181
运行Springdemo1Application.class,打开postMan测试一下,看看是否正确返回。
至此,一个简单的SpringBoot应用搭建起来了。完整例子可在我的GitHub主页下载。