SpringBoot的優點


一、什么是SpringBoot
在使用傳統的Spring去做Java EE(Java Enterprise Edition)開發中,大量的 XML 文件存在於項目之中,導致JavaEE項目變得慢慢笨重起來,,繁瑣的配置和整合第三方框架的配置,導致了開發和部署效率的降低。

Spring Boot 並不是用來替代 Spring 的解決方案,而是和 Spring 框架緊密結合用於提升 Spring 開發者體驗的工具。同時它集成了大量常用的第三方庫配置,Spring Boot應用中這些第三方庫幾乎可以是零配置的開箱即用(out-of-the-box),大部分的 Spring Boot 應用都只需要非常少量的配置代碼(基於 Java 的配置),開發者能夠更加專注於業務邏輯。

二、為什么學習SpringBoot
1.從官方來看


2.從Spring的優點來看


①良好的基因
因為SpringBoot是伴隨着Spring 4.0而生的,boot是引導的意思,也就是它的作用其實就是在於幫助開發者快速的搭建Spring框架,因此SpringBoot繼承了Spring優秀的基因,在Spring中開發更為方便快捷。

 

②簡化編碼
,比如我們要創建一個 web 項目,使用 Spring 的朋友都知道,在使用 Spring 的時候,需要在 pom 文件中添加多個依賴,而 Spring Boot 則會幫助開發着快速啟動一個 web 容器,在 Spring Boot 中,我們只需要在 pom 文件中添加如下一個 starter-web 依賴即可。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我們點擊進入該依賴后可以看到,Spring Boot 這個 starter-web 已經包含了多個依賴,包括之前在 Spring 工程中需要導入的依賴,我們看一下其中的一部分,如下:

<!-- .....省略其他依賴 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.7.RELEASE</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.0.7.RELEASE</version>
<scope>compile</scope>
</dependency>
由此可以看出,Spring Boot 大大簡化了我們的編碼,我們不用一個個導入依賴,直接一個依賴即可。

③簡化配置
Spring 雖然使Java EE輕量級框架,但由於其繁瑣的配置,一度被人認為是“配置地獄”。各種XML、Annotation配置會讓人眼花繚亂,而且配置多的話,如果出錯了也很難找出原因。Spring Boot更多的是采用 Java Config 的方式,對 Spring 進行配置。舉個例子:

我新建一個類,但是我不用 @Service注解,也就是說,它是個普通的類,那么我們如何使它也成為一個 Bean 讓 Spring 去管理呢?只需要@Configuration 和@Bean兩個注解即可,如下:

public class TestService {
public String sayHello () {
return "Hello Spring Boot!";
}
}

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JavaConfig {
@Bean
public TestService getTestService() {
return new TestService();
}
}
@Configuration表示該類是個配置類,@Bean表示該方法返回一個 Bean。這樣就把TestService作為 Bean 讓 Spring 去管理了,在其他地方,我們如果需要使用該 Bean,和原來一樣,直接使用@Resource注解注入進來即可使用,非常方便。

@Resource private TestService testService;

另外,部署配置方面,原來 Spring 有多個 xml 和 properties配置,在 Spring Boot 中只需要個 application.yml即可。

 

④簡化部署
在使用 Spring 時,項目部署時需要我們在服務器上部署 tomcat,然后把項目打成 war 包扔到 tomcat里,在使用 Spring Boot 后,我們不需要在服務器上去部署 tomcat,因為 Spring Boot 內嵌了 tomcat,我們只需要將項目打成 jar 包,使用 java -jar xxx.jar一鍵式啟動項目。

另外,也降低對運行環境的基本要求,環境變量中有JDK即可。

 

⑤簡化監控
我們可以引入 spring-boot-start-actuator 依賴,直接使用 REST 方式來獲取進程的運行期性能參數,從而達到監控的目的,比較方便。但是 Spring Boot 只是個微框架,沒有提供相應的服務發現與注冊的配套功能,沒有外圍監控集成方案,沒有外圍安全管理方案,所以在微服務架構中,還需要 Spring Cloud 來配合一起使用。

 

3.從未來發展趨勢看
微服務是未來發展的趨勢,項目會從傳統架構慢慢轉向微服務架構,因為微服務可以使不同的團隊專注於更小范圍的工作職責、使用獨立的技術、更安全更頻繁地部署。而 繼承了 Spring 的優良特性,與 Spring 一脈相承,而且 支持各種REST API 的實現方式。Spring Boot 也是官方大力推薦的技術,可以看出,Spring Boot 是未來發展的一個大趨勢。
————————————————

原文鏈接:https://blog.csdn.net/qq_32595453/java/article/details/81141643


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM