一、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-hk/n/278811.html