javascript
SpringBoot框架理解
文章目錄
- SpringBoot框架
- 1 SpringBoot入門
- 1.2 什么是SpringBoot
- 1 官網的解釋
- 2 我的理解
- 3 SpringBoot的優缺點
- 4 構建項目
- 1 使用Spring 官方提供頁面構建
- 2 使用IDEA構建
- 3 pom包介紹
- 1.3 SpringBoot核心
- 1 約定優于配置
- 2 Starter啟動器
- 3 自動配置工作原理
- @SpringBootConfiguration
- @EableAuconfiguration
- 1.3 SpringBoot全局配置
- 1 全局配置文件
- 2 自定義配置文件
- 1 通過@Value獲取自定義配置
- 2 通過 @ConfigurationProperties注解封裝自定義配置
學習SpringBoot框架后寫一個總結,這個文檔會持續更新的
SpringBoot框架
1 SpringBoot入門
1.2 什么是SpringBoot
1 官網的解釋
? Spring在官方首頁是這么說的:說使用SpringBoot可以構造任何東西,SpringBoot是構造所有基于Spring的應用程序的起點,SpringBoot在于通過最少的配置為你啟動程序。
2 我的理解
SpringBoot是Spring開源項目的一個子項目,是Spring組件的一站式解決發案,其目的是簡化Spring應用的初始搭建和開發過程。
3 SpringBoot的優缺點
其實就是變得簡單,快捷,方便,我們以前自己搭建一個Spring Web項目是不是需要配置web.xml,加載Spring和SpringMvc,在配置數據庫連接.配置Spring事務,日志文件,對配置文件的讀取,開啟注解等等一些東西,在然后啟動Tomcat調試,如果還要加一些功能,還需要你自己在去搞一遍,為什么SpringBoot可以很方便的搭建一個Web項目了,不提供 Spring 框架的核心特性以及擴展功能,只用于開發新一代基于Spring框架的應用程序。
所有SpringBoot有以下優點:
1. 開發變得簡單 2. 配置變得簡單 3. 部署變得簡單 4. 監控變得簡單Spring Boot有以下缺點:
4 構建項目
1 使用Spring 官方提供頁面構建
1、訪問 http://start.spring.io/
2、選擇構建工具 Maven Project、Java、Spring Boot 版本 2.1.15、Spring Web依賴以及一些工程基本信息,可參考下圖所示:
3、點擊 Generate – Ctrl + 下載項目壓縮包
4、解壓后,使用 IDEA 導入項目
2 使用IDEA構建
· Group,一般填寫公司域名,· Artifact,可以理解為項目的名稱了,在點擊next進入Dependencles部署,選擇SpringBoot的版本,我一般選擇的是2.6.3的版本,在點擊next
(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220216114401953.png)]
- src/main/java 程序開發以及主程序入口
- src/main/resources 配置文件
- src/test/java 測試程序
3 pom包介紹
第一部分:項目描述信息 groupId,公司域名; artifactId,項目名稱; version,項目版本號; name,項目名稱; description,項目描述 第二部分:依賴配置部分<parent> 配置 Spring Boot 父級版本<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.6.3</version> <relativePath/> <!-- lookup parent from repository --> </parent><dependencies> 配置項目所需要的依賴包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>1.3 SpringBoot核心
1 約定優于配置
約定優于配置(Convention Over Configuration),叫作約定編程,是一種設計范式,一般用來減少開發人員做決定的數量。所以.在Spring體系中,Spring Boot jpa就是約定優于配置最佳實現之一,不需要關注表結構,我們約定類名.即是表名,屬性名即,是表的字段,在做一些配置,就可以大大簡化了我們的工作
2 Starter啟動器
Starter可以理解為啟動器,它包含了一系列可以集成到應用里面的依賴包
3 自動配置工作原理
@SprngBoot Application 注解啟動類 表示項目的的啟動
@SprngBoot Application 注解啟動類 標注的是SpringBoot 項目的主配置類,用于啟動SpringBoot項目,SpringBoot Application里面還有三個注解分別是@EableAuconfiguration,@SpringBootConfiguration,@ComponetScan
@ComponentScan 注解表示掃描組件,以前在SSM中也使用過組件掃描,啟用注解配置。啟動類上間接包含該注解,表示會掃描啟動類所在包及子包下的注解配置。
@SpringBootConfiguration
@SpringBootConfiguration標注當前類是配置類,并會將當前類內聲明的一個或多個以@Bean注解標記的方法的實例納入到spring容器中,并且實例名就是方法名
@EableAuconfiguration
@EableAuconfiguration 注解 開啟自動配置,它下面還有兩個重要的注解,@AutoConfigurationPackage,@Import。
@AutoConfigurationPackage 實現了自動將包放入到掃描器中
@Import注解 自動導入第三方依賴
@SpringBootApplication 完成的三件事情
1、標識當前類為主配置類。
2、自動掃描當前主配置類所在的包及其子包下的所有類。并添加一些類配置類納入Spring容器中。
3、會自動將SpringBoot項目所需要的第三方依賴進行下載。
1.3 SpringBoot全局配置
1 全局配置文件
1、application.properties。
2、application.yml 配置文件。
在默認情況下properties比yml文件的優先級高
相同點:
可以覆蓋Spring Boot自動配置的默認值
不同點:
properties的語法是key=value,比較簡單。
3 application.yml 配置文件
yml是YAML語言的文件,以數據為中心,比json、xml等更適合做配置文件
yml的語法是由字母值,對象,數組,三種結構組成,并且是以空格的縮進程度來表示層級關系,空格的個數并不重要,只要左邊空格對齊則視為同一個層級。注意不能用tab代替空格。且大小寫敏感
注意事項:
1、字符串可以不加引號,若加雙引號則輸出特殊字符,若不加或加單引號則轉義特殊字符;
2、數組類型,短橫線后面要有空格;對象類型,冒號后面要有空格;
3、YAML是以空格縮進的程度來控制層級關系,但不能用tab鍵代替空格,大小寫敏感;
4、如何讓一個程序員崩潰?在yml文件中加幾個空格
2 自定義配置文件
自定義配置文件通過,@Value獲取自定義配置,自定義配置文件,@Configuration配置,導入XML配置,下面我就說下通過@Value和自定義配置文件來定義配置文件
1 通過@Value獲取自定義配置
在application.properties自定義配置:
com.test.zhangsan.name=張三 com.test.nishi.name=李四在HelloController.java中通過 @Value注解獲取數據:
@RestController public class HelloController {@Value("${com.test.zhangsan.name}")private String zname;@Value("${com.test.nishi.name}")private String lname;@Autowiredprivate DemoService demoService;@RequestMapping("/hello") public String hello() { String msg = demoService.sayHello(); msg += " "+zname +" "+lname; return msg; } }2 通過 @ConfigurationProperties注解封裝自定義配置
使用@ConfigurationProperties注解,需要在]pom.xml中添加依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> // 在com.demo.comm包下創建Testinfo.java類,并添加注解,prefix指定獲取的配置信息的前綴: @Cconfiguration @ConfigurationProperties(prefix = "com.test") public class Testinfo implements Serializable { private String zname; private String lname; //省略setter/getter } // 在啟動類上使用@EnableConfigurationProperties(Testinfo.class) // 修改HelloController.java,注入TestInfo獲取數據: @RestController public class HelloController { @Resource private Testinfo Testinfo; @Autowired private DemoService demoService; @RequestMapping("/hello")public String hello() { String msg = demoService.sayHello(); msg += " "+Testinfo.getZname() +" "+Testinfo.getLname(); return msg; } }總結
以上是生活随笔為你收集整理的SpringBoot框架理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mac下载eclipse的方法
- 下一篇: 关于Retinex图像增强算法的一些新学