1、Spring Boot简介
1.1 Spring Boot是什么
1)简化spring应用开发的一个框架
2)整个spring技术栈的大整合
3)J2EE开发的一站式解决方案
1.2 什么是微服务
微服务是一种架构风格(将服务微化),一个应用应该是一组小型服务,通过HTTP的方式进行互通。每一个功能元素最终都是一个可独立替换和独立升级的软件单元
2、Spring Boot 第一个项目搭建
2.1 创建一个maven项目
2.2 导入依赖Spring Boot相关
spring官网链接
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.3 编写主程序
package com.tianqicode;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloWorldApplication {
public static void main(String[] args) {
//Spring应用启动起来
SpringApplication.run(HelloWorldApplication.class, args);
}
}
2.4 编写相关的Controller和Service
package com.tianqicode.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloWorldController {
@ResponseBody
@RequestMapping(value = "/hello")
public String hello() {
return "Hello World";
}
}
此时访问http://localhost:8080/hello
就可以看到前端渲染的“Hello World”字样。
3、pom.xml文件导入依赖的问题
什么时候导入什么依赖呢?比如我需要整合JPA开发,这时候我都要导入那些包呢?
其实只需要到Spring Boot的官方文档中搜索Starters就可以发现,Spring Boot已经整合好的各种情景的启动器
就像刚才的Hello World项目中的spring-boot-starter-web
,这个就是web启动器。只需要导入启动器,就可以自动导入该场景下需要的jar包,十分方便。
4、使用Spring Boot官方插件快速创建项目
左边菜单选择Spring Initializr项点击Next
项目配置如下
这里有很多选项,其实就是上面说到的启动器,需要什么功能勾选即可,它会在创建项目时自动在pom.xml文件中引入相应的依赖。
项目创建好之后的目录结构就像这样
这次就不需要手动写主程序了,已经自动创建好了。
再次写一个Controller类测试一下
package com.tianqicode.springboothelloworldquick.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloWorldController {
@RequestMapping(value = "hello")
public String hello() {
return "Hello World";
}
}
运行主程序,访问页面发现前端渲染成功。