一、Spring5重大升級
1、回應式編程

2、內部原始碼設計
基于Java8的一些新特性,如:介面默認實作,重新設計原始碼架構,
二、為什么用SpringBoot
能快速創建出生產級別的Spring應用
1、SpringBoot優點
-
創建獨立Spring應用
-
內嵌web服務器
-
自動starter依賴,簡化構建配置
-
自動配置Spring以及第三方功能
-
提供生產級別的監控、健康檢查及外部化配置
-
無代碼生成、無需撰寫XML
SpringBoot是整合Spring技術堆疊的一站式框架
SpringBoot是簡化Spring技術堆疊的快速開發腳手架
2、SpringBoot缺點
-
人稱版本帝,迭代快,需要時刻關注變化
-
封裝太深,內部原理復雜,不容易精通
三、時代背景
3.1、微服務
James Lewis and Martin Fowler (2014) 提出微服務完整概念,
- 微服務是一種架構風格
- 一個應用拆分為一組小型服務
- 每個服務運行在自己的行程內,也就是可獨立部署和升級
- 服務之間使用輕量級HTTP互動
- 服務圍繞業務功能拆分
- 可以由全自動部署機制獨立部署
- 去中心化,服務自治,服務可以使用不同的語言、不同的存盤技術
3.2、分布式
分布式的困難
- 遠程呼叫
- 服務發現
- 負載均衡
- 服務容錯
- 配置管理
- 服務監控
- 鏈路追蹤
- 日志管理
- 任務調度
- …
分布式的解決
- SpringBoot + SpringCloud

3.3、云原生
原生應用如何上云, Cloud Native
上云的困難
- 服務自愈
- 彈性伸縮
- 服務隔離
- 自動化部署
- 灰度發布
- 流量治理
- …
SpringBoot官方檔案地址
https://docs.spring.io/spring-boot/docs/current/reference/html/
四、用SpringBoot撰寫HelloWorld
<!--匯入父工程-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<!--Web場景的依賴:這里面的就包括了spring核心包、springMvc、日志包等等-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
主程式類:
/**
* 主程式類
* @author acoffee
* @create 2021-06-05 16:42
*/
//這個注解就說明了這是一個springboot應用
@SpringBootApplication
public class MainApplication {
public static void main(String[] args){
SpringApplication.run(MainApplication.class,args);
}
}
控制器:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handleo1(){
return "Hello,Spring Boot 2!";
}
}
直接運行main方法就可以了,連tomcat都可以不用(實際上是內嵌在其中的),簡化了開發,

簡化配置
創建application.properties檔案
server.port=8888
這個就是改變埠,如果想改變其他的引數,在官網中的api中查找你需要更改的名字即可https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties
簡化部署
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
把專案打成jar包,直接在目標服務器執行即可,


然后就可以在瀏覽器中去訪問

注意點:
? 取消掉cmd的快速編輯模式
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/286372.html
標籤:其他
上一篇:單元測驗用例——Pytest(與allure測驗報告)(allure安裝步驟,以及生成測驗報告操作)
下一篇:Nginx性能優化
