SpringBoot:简化Spring应用开发的一个框架,基于Spring的再分装,整个Spring技术栈的大整合,J2EE开发的一站式解决方案,约定大于配置,just run就能创建一个独立的、产品级别的应用
微服务:架构风格(服务微化
一个应用是一组小型服务;可以通过HTTP的方式进行互通;每一个功能元素最终都是一个可独立替换和独立升级的软件单元
(使用SpringBoot可快速构建一个微服务单元
案例:浏览器发送hello请求,服务器接收请求并处理,响应Hello World字符串
1.创建一个Maven工程(jar)
2.导入spring boot相关依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.编写一个主程序,启动Spring Boot应用(启动类所在的package必需要包含Controller所在的package
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);
}
}
4.编写相关的controller
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World";
}
}
5.运行主程序测试
6.简化部署(pom.xml中配置
<!--这个插件可以将应用打包成一个可执行的jar包-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将这个应用打成jar包,直接使用java-jar的命令进行执行
7.案例探究
pom文件:
父工程:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
</parent>
它的父项目是:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
spring-boot-dependencies来真正管理Spring Boot应用里的所有依赖版本
(spring-boot-dependencies是Spring Boot的版本仲裁中心,所有的版本依赖都在spring-boot-dependencies中管理,导入依赖默认是不需要写版本,但没在spring-boot-dependencies里面管理的依赖需要声明版本号
导入的依赖(启动器:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
spring-boot-starter-web:帮我们导入了web模块正常运行所依赖的组件(spring-boot-starter场景启动器,Spring Boot将所有的功能场景都抽取出来,做成一个个的starters(启动器),只需要在项目中引入这些starter相关场景的所有依赖都会导入进来,要什么功能就导入什么场景的启动器,版本由spring boot自动控制
待更~