SpringBoot框架介紹

一、SpringBoot是什麼框架

SpringBoot是一個開源的JavaEE快速開發框架,它基於Spring框架,通過各種默認設置簡化了Spring應用程序的初始搭建,使JavaEE開發變得更加高效、快捷,同時SpringBoot使得Java應用程序的部署變得非常容易,開發者不需要關注底層的應用伺服器、servlet容器等應用程序部署相關的細節。

SpringBoot極大地簡化了Java Web開發,對於初學者和開發速度要求較高的開發團隊,使用SpringBoot可以省去大量時間,減少大量不必要的配置,也使得開發團隊更加專註於業務代碼的編寫。

二、SpringBoot框架優勢

1、簡化配置


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

SpringBoot的默認設置和啟動器幫助您輕鬆快捷地開始項目開發。您無需採用傳統的Spring XML配置文件方式,SpringBoot提供了自動配置,可以根據項目中引入的依賴自動載入相應的配置,無需進行任何設置。

2、內嵌Web容器


@Bean
public EmbeddedServletContainerFactory servletContainer() {
  TomcatEmbeddedServletContainerFactory factory = 
                new TomcatEmbeddedServletContainerFactory();
  factory.setPort(8080);
  return factory;
}

如果你使用SpringBoot開發Web應用,SpringBoot提供了內嵌的Tomcat、Jetty等Servlet容器,不需要安裝和配置外部Servlet容器,這樣可以簡化部署流程,減少了對外部容器的依賴。您的應用程序甚至可以作為一個獨立的應用來運行(Jar包或War包),這樣您可以將應用程序部署在雲平台上,如Pivotal’s Cloud Foundry、Heroku等。

3、自動配置


spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

在SpringBoot中,當引入依賴的時候就能自動配置,在應用創建的時候,SpringBoot會面向Classpath中的jar,查詢需要的庫,根據類路徑中的內容來推斷您想如何配置Spring。同時,SpringBoot也提供properties文件和YAML文件作為配置文件。

三、SpringBoot和SpringMVC比較

SpringMVC和SpringBoot都是基於Spring框架的,都是Java Web開發框架。但是兩者的區別在於:SpringMVC是基於技術層面的,需要開發者自行配置,而SpringBoot是基於約定大於配置的理念,SpringBoot通過默認配置文件來自動化和簡化很多配置工作,這使得開發者不需要關注底層技術細節,只需要專註於業務編碼。

四、SpringBoot和BS架構

SpringBoot並不局限於BS架構,它同樣適用於CS(Client-Server)架構。BS架構指的是Browser-Server(瀏覽器-伺服器)架構,即前端、交互部分在瀏覽器上實現,而後台數據處理則在Server端實現。

SpringBoot可以與前端框架如Vue、React、AngularJS等配合,讓前端和後台開發更加協同和簡便。

五、SpringBoot常用註解

1、@SpringBootApplication


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

@SpringBootApplication是一個組合註解,用於標註SpringBoot應用程序主類。它包含了@ComponentScan、@EnableAutoConfiguration和@Configuration三個註解,這三個註解分別完成的是組件掃描、自動裝配和配置。

2、@RestController


@RestController
@RequestMapping("/user")
public class UserController {
  @GetMapping("/list")
  public List<User> getUserList() {
    // TODO
  }
}

@RestController註解用於標註Controller層的類,它通過HTTP協議響應數據。不能夠使用@Controller註解,因為這個註解不返回數據。

3、@RequestMapping


@RestController
@RequestMapping("/user")
public class UserController {
  @GetMapping("/list")
  public List<User> getUserList() {
    // TODO
  }
}

@RequestMapping註解用於映射請求的URL和處理方法。通過@RequestMapping注釋,使得可以將多個請求映射到同一處理方法中。

六、SpringBoot怎麼用

1、創建SpringBoot項目

使用Spring Initializr或者手動創建一個SpringBoot項目。

2、配置pom.xml

在pom.xml中引入所需要的依賴,SpringBoot建議使用”Starter POMs”,這樣可以省去大量添加依賴的工作。


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

3、創建Controller

創建Controller層的類,處理HTTP請求。


@RestController
@RequestMapping("/user")
public class UserController {
  @GetMapping("/list")
  public List<User> getUserList() {
    // TODO
  }
}

4、啟動應用程序

運行主類的main()方法。

七、SpringBoot屬於SSM嗎

SpringBoot是基於Spring框架的,SSM(Spring+SpringMVC+Mybatis)也是基於Spring框架的。但是SpringBoot和SSM的設計理念不同,SpringBoot更加註重自動化配置,而SSM更加註重框架集成和配置文件的編寫。因此,SpringBoot和SSM可以說是同屬於一家之言,但是並不是直接相互包含的關係。

八、SpringBoot面試題

1、SpringBoot如何實現自動配置?

在SpringBoot中,當引入依賴的時候就能自動配置,在應用創建的時候,SpringBoot會面向Classpath中的jar,查詢需要的庫,根據類路徑中的內容來推斷您想如何配置Spring。同時,SpringBoot也提供properties文件和YAML文件作為配置文件。

2、SpringBoot和SpringMVC有什麼區別?

SpringMVC和SpringBoot都是基於Spring框架的,但是兩者的區別在於:SpringMVC是基於技術層面的,需要開發者自行配置,而SpringBoot是基於約定大於配置的理念,SpringBoot通過默認配置文件來自動化和簡化很多配置工作,這使得開發者不需要關注底層技術細節,只需要專註於業務編碼。

3、SpringBoot的默認啟動器都有哪些?

SpringBoot的默認啟動器有spring-boot-starter-web、spring-boot-starter-data-jpa、spring-boot-starter-data-redis、spring-boot-starter-actuator等,每個starter都提供了一組默認依賴和配置,可以快速啟動開發各種不同的應用。

4、SpringBoot如何設置數據源?

在application.properties或者application.yml中設置數據源、密碼等信息,如:


spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root

九、總結

SpringBoot是一個開源的JavaEE快速開發框架,其具有簡化配置、內嵌Web容器、自動配置、與前端框架兼容等優勢。SpringBoot與BS架構、SSM框架等存在關聯,但是並不是直接相互包含的關係。

要開發SpringBoot應用,只需通過Spring Initializr創建項目,然後配置pom.xml文件,創建Controller層的類,最後啟動應用程序即可。在使用SpringBoot過程中,需要掌握一些常用的註解,如@RestController、@RequestMapping等。

在面試中,可能會被問到SpringBoot如何實現自動配置、SpringBoot和SpringMVC有什麼區別、SpringBoot的默認啟動器和數據源設置等問題。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/278811.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:01
下一篇 2024-12-20 15:01

相關推薦

  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • Zlios——一個多功能的開發框架

    你是否在開發過程中常常遇到同樣的問題,需要不斷去尋找解決方案?你是否想要一個多功能、易於使用的開發框架來解決這些問題?那麼,Zlios就是你需要的框架。 一、簡介 Zlios是一個…

    編程 2025-04-29
  • agavi開發框架

    Agavi是一個基於MVC模式的Web應用程序開發框架,以REST和面向資源的設計為核心思想。本文章將從Agavi的概念、優點、使用方法和實例等方面進行詳細介紹。 一、概念 Aga…

    編程 2025-04-29
  • Python unittest框架用法介紹

    Python unittest框架是Python自帶的一種測試框架,可以用來編寫並運行測試用例。在本文中,我們將從以下幾個方面詳細介紹Python unittest框架的使用方法和…

    編程 2025-04-29
  • com.alipay.sofa.bolt框架

    com.alipay.sofa.bolt框架是一款高性能、輕量級、可擴展的RPC框架。其廣泛被應用於阿里集團內部服務以及阿里雲上的服務。該框架通過NIO支持高並發,同時還內置了多種…

    編程 2025-04-29
  • 從ga角度解讀springboot

    springboot作為目前廣受歡迎的Java開發框架,其中的ga機制在整個開發過程中起著至關重要的作用。 一、ga是什麼 ga即Group Artifacts的縮寫,它是Mave…

    編程 2025-04-29
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28
  • LuaEP:一款強大的Lua開發框架

    LuaEP是一個集成了可以快速開發web應用程序所需的組件的Lua開發框架。它以Lua語言為基礎,提供了許多常用介面和庫,使得開發者不需要從頭開始編寫web應用程序,而是專註於業務…

    編程 2025-04-28
  • SpringBoot Get方式請求傳參用法介紹

    本文將從以下多個方面對SpringBoot Get方式請求傳參做詳細的闡述,包括URL傳參、路徑傳參、請求頭傳參、請求體傳參等,幫助讀者更加深入地了解Get請求方式下傳參的相關知識…

    編程 2025-04-27
  • Java持久層框架的複合主鍵實現

    用Java持久層框架來操作資料庫時,複合主鍵是常見的需求。這篇文章將詳細闡述javax.persistence複合主鍵的實現方式,並提供完整的示例代碼。 一、複合主鍵的定義 複合主…

    編程 2025-04-27

發表回復

登錄後才能評論