Springboot學習

  • 2022 年 8 月 22 日
  • 筆記

一、什麼是Springboot
1、Springboot 是由Pivotal團隊提供的全新框架,為平台帶來另一種開發體驗,簡化對已有技術的使用。
2、使用特定的方式(繼承starter,約定大於配置)
3、基於Spring進行設計封裝,繼承了spring框架的優秀基因,是一些基本功能庫的集合,maven或者gradle項目導入相應的已依賴即可使用,無需自行管理依賴庫的版本。
二、為什麼使用
1、簡化了spring項目的配置,使得jar依賴以及應用編譯和配置更加簡單
2、更加輕量化,只需要簡單的啟動類即可生成一個WEB項目,並且內置了tomcat,構建的jar包可通過java -jar運行
3、更加接近雲原生服務或者契合微服務的概念
4、集成豐富的功能或者組件
三、Springboot的特性
1、無需手動管理依賴jar包的版本
2、獨立運行的Spring項目
3、約定俗稱摒棄XML配置
4、外部化配置
5、嵌入式Servlet容器,支持tomcat\jetty
6、開啟devTool自動化監控、運維
7、自定義配置
四、Springboot的核心註解
SpringBootApplication
申明讓Springboot 自動給程序進行必要的配置,這個配置等同於

@SpringBootConfiguration: `@Configuration` 表示配置類
@EnableAutoConfiguration :Springboot 自動配置,根據引入的jar包自動尋找配置
@ComponentScan: 掃描發現Spring的bean,包括結合@AutoWired註解自動注入屬性

1、@ResponseBody
該註解用於修飾函數或者類,會使結果直接填充到http的響應體,一般配合@RequestMapping使用
例子:
@RequestMapping(value = “upload”,method = RequestMethod.POST)
@ResponseBody
public String upload(@RequestParam(“file”)MultipartFile file){

2、@RequestMapping
該註解用於修飾函數或者類,表示該類是一個接口類或者方法是一個接口方法
例子:
@RequestMapping(value = “core”)
public class FileController {
3、@Controller
用於定義控制器類,在Spring項目中有控制器負責將用戶請求的url轉發到對應的實現接口

4、@RequestBody
用於將請求的body體映射到具體的實現類
例子:
@RequestMapping(value = “user”,method = RequestMethod.POST)
public ResponseUtil addUser(@RequestBody User user){

5、@Bean
等價於XML中配置的bean

6@Value
注入Springboot Applictaion配置文件的屬性的值

7、配置相關

@ConfigurationProperties(prefix = "ftp")
/**
 * 這是屬性文件路徑
 */
@PropertySource("classpath:conf/ftp.properties")
/**
 * @author zhang
 * @category <a>
 */
public class FtpServer {

五、Springboot的發佈

1、項目以jar包發佈,默認方式

2、項目以war包發佈,需要排除容器依賴

六、Springboot的actuator

1、監控Springboot的接口和環境變量

七、SpringBoot的不足
1、高度封裝
2、必須熟悉約定
3、需要集成更多的組件補充自己