Springboot初体验

  1. 1. 一、SpringBoot属于Spring
    1. 1.1. Spring能干什么?
  2. 2. 二、 为什么使用Springboot?
  3. 3. 三、时代背景
    1. 3.1. 3.1 微服务
    2. 3.2. 3.2 分布式
    3. 3.3. 3.3 云原生
  4. 4. 四、SpringBoot2入门
    1. 4.1. 4.1 系统要求
    2. 4.2. 4.2 maven设置
    3. 4.3. 4.3 需求
    4. 4.4. 4.4 创建maven工程并引入依赖
    5. 4.5. 4.5 创建主程序
    6. 4.6. 4.6 编写业务
    7. 4.7. 4.7 简化配置
    8. 4.8. 4.8 简化部署

学习内容为Springboot2

环境:

  • java 8及以上
  • maven 3.3及以上

一、SpringBoot属于Spring

Spring能干什么?

  • 微服务
  • 异步反应式开发
  • 开发网络应用
  • 灵活部署
  • 业务监控
  • 自动化

二、 为什么使用Springboot?

能快速创建出生产级别的Spring应用

优点:

  • 创建独立Spring应用

  • 内嵌web服务器

  • 自动starter依赖,简化构建配置

  • 自动配置Spring以及第三方功能

  • 提供生产级别的监控、健康检查及外部化配置

  • 无代码生成、无需编写XML

SpringBoot是整合Spring技术栈的一站式框架

SpringBoot是简化Spring技术栈的快速开发脚手架

缺点:

  • 人称版本帝,迭代快,需要时刻关注变化
  • 封装太深,内部原理复杂,不容易精通

三、时代背景

3.1 微服务

  • 微服务是一种架构风格

  • 一个应用拆分为一组小型服务

  • 每个服务运行在自己的进程内,也就是可独立部署和升级

  • 服务之间使用轻量级HTTP交互

  • 服务围绕业务功能拆分

  • 可以由全自动部署机制独立部署

  • 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术

3.2 分布式

SpringBoot + SpringCloud

3.3 云原生

Cloud Native

四、SpringBoot2入门

4.1 系统要求

  • Java 8 & 兼容java14 .

  • Maven 3.3+

  • idea 2019.1.2

4.2 maven设置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>

<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>

4.3 需求

浏览发送/hello请求,响应 Hello,Spring Boot 2

4.4 创建maven工程并引入依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>


<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

</dependencies>

4.5 创建主程序

src–main–java–com.xxx.MainApplication.java

1
2
3
4
5
6
7
8
9
10
11
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {

public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}

@SpringBootApplication = @SpringBootConfiguration+ @EnableAutoConfiguration+ @ComponentScan

4.6 编写业务

src–main–java–com.xxx.controller.Controller.java

1
2
3
4
5
6
7
8
@RestController
public class HelloController {

@RequestMapping("/hello")
public String handle01(){
return "Hello, Spring Boot 2!";
}
}

@RestController = @ResponseBody+@Controller

4.7 简化配置

resources–application.properties

1
server.port=8888

设置端口号 等信息

4.8 简化部署

在pom.xml下添加插件

1
2
3
4
5
6
7
8
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

img

将web项目打包成jar包

通过cmd下 进入target目录

javac -jar 项目.jar 即可部署项目到当前服务器上,项目内自带了Tomcat的服务器,从而简化了服务器的配置

img