作者:谭东
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。可以理解为Spring Boot集合了很多小框架,使用起来非常的方便。
优点:
快速、方便、高效; 嵌入的Tomcat,无需部署WAR文件、简化Maven配置、自动配置Spring等。
以前我们开发搭建一个项目,需要配置数据库相关配置文件、加载配置文件的读取、注解相关处理、日志文件配置等等,还要部署Tomcat。那么对现在的微服务架构来说,每建一个小功能模块时,如:邮件系统、积分系统、注册系统等,都要重新弄一边,非常的麻烦以及容易出错。
但是用Spring Boot我们就可以快速方便的搭建一个Web项目或者一个微服务。
话不多说,开始进入Spring Boot的使用吧!
1、安装
我这里是使用Intellij Idea进行开发。
如果初学者,也可以在这个网址去下载配置好的项目,http://start.spring.io/
打包下载即可,然后解压,用Intellij Idea打开即可。
或者直接自己新建,这里选Maven。
然后添加相关信息即可。
新建后的项目结构目录如下:
java目录主要是程序文件;resources目录放配置文件、html相关等等资源文件等;test目录是放置测试文件。
大致结构如图,根据个人喜好。不过官方习惯使用domain目录放实体Entity和数据访问层Repository。
好接下来我们配置下pom.xml,引入相关的库。
4.0.0
com.tandong
TestJavaWeb
1.0-SNAPSHOT
war
TestJavaWeb
TestJavaWeb Application
org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
然后项目根目录新建一个Application类,继承SpringBootServletInitializer,作为程序入口。
package com.tandong.testjavaweb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class BaseApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(BaseApplication.class, args);
}
}
好那么我们先写个简单的接口。
先写个StudentController。
package com.tandong.testjavaweb.controller;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* 注意@RestController用于写接口
* @Controller 用于写页面跳转
*/
@RestController
//@Controller
@SpringBootApplication
@RequestMapping("/student")
public class StudentController {
/**
* ResopnseBody如果返回的是Object,会把返回结果转为Json格式输出
*
* @param userName
* @return
*/
@ResponseBody
@RequestMapping(value = "/getUserName", method = RequestMethod.GET)
public Object getUserNameGet(@RequestParam(value = "name") String userName) {
return userName;
}
@RequestMapping(value = "/getName", method = RequestMethod.GET)
public String getName(@RequestParam(value = "name") String name) {
return "Hello " + name;
}
}
这里要注意下@RestController相当于@Controller和@ResponseBody的组合,如果只使用@RestController则无法跳转页面也无法返回html。想要页面跳转则需使用@Controller,如果想返回JSON格式数据则使用@RestController或@Controller+@ResponseBody。
然后在resources目录下新建个application.properties,用来配置相关信息的。我们这里配置下访问的url端口。server.port=8082,然后我们访问http://localhost:8082/student/getUserName?name=student,即可获取接口返回的结果了。
我们也可以在命令台,使用mvn clean和mvn install进行项目清理和重新打包项目。
那么,简单的Spring Boot的搭建和运行就完毕了。
完整项目Github地址:https://github.com/jaychou2012/Spring-Boot-Web