spring boot常用屬性以及常見問題總結

spring boot 四種屬性注入

  • @Autowired注入
  • 構造方法注入
  • @Bean和形參注入
  • 使用@bean和@ConfigurationProperties(prefx = “…”)注入

spring boot 中常用註解

  • @EnableAutoConfiguration
  • @RestController
  • CompenScan
  • SpringBootApplication
  • SpringBootConfiguraion
  • @Configuration
  • @PropertySource
  • @Bean
  • @Value
  • ConfigurationProperties
  • EnableConfigurationProperties

spring boot 自動配置

@EnableAutoConfiguration開啓spring boot自動配置,在Denpendcy中引入spring-boot-autoconfigure,這個依賴項中定義了許多的依賴、例如aop、cache、jdbc……


@RequestBody 和 @ResponseBody

@RequestBody

作用

@RequestBody(1)作用於讀取Request請求的body部分數據,使用系統默認的HttpMessageConverter進行解析,然後把數據綁定到要返回的對象上;(2)把HttpMessageConverter返回的對象數據綁定到Controller方法的參數上


使用時機

  1. 使用GET、POST請求,根據request header content-type判斷

    • application/x-www-form-urlencoded,可選(非必須項,這種格式的數據,使用 @ReauestBody,@RequestParm,@ModelAttribute都能處理)
    • mutilpart/form-data,這種格式數據 @RequestBody不能處理
    • 其他格式,必須(包括application/json、application/xml格式數據,必須使用 @RequestBody來處理)
  2. 使用PIUT請求,根據request header content-type判斷

    • application/x-www-form-urlencoded,必須(這種格式數據必須使用 @RequestBody 處理)
    • mutilpart/form-data,不能(這種格式數據不能用 @RequestBody 處理)
    • 其他格式(application/json、application/xml,這種格式數據必須使用 @RequestBody 處理)

注意:request的body部分數據編碼格式由conten-type指定


@ResponsseBody

作用

此註解作用於Controller方法的返回對象,通過HtppMessageConverter轉換爲指定格式後,寫入Response的body中

使用時機

返回對象爲json、xml這種格式的數據時使用


問題記錄

  1. Spring Boot Application in default package

描述:建立如下測試程序,使用 @SpringBootApplication註解,報錯:Spring Boot Application in default package

產生原因:main方法直接放在了java包下

解決方案

官方解決方案:
@springbootApplication 註解失效的情況下,推薦使用@CompentScan 和@EnableAutoConfiguration進行代替;

在java包下建立一個新的package,然後將測試程序移動到該package下,如下圖:

  1. 啓動spring boot項目失敗

描述:如下圖

原因:端口被佔用

解決方案:在application.properties中配置端口,或者將佔用當前端口的程序shutdown

  1. 沒有配置Tomcat服務器,導啓動失敗

配置步驟如下:

1 編輯配置:Edit Configuration

2 選擇 Template,選擇Tomcat Server ——> Local 


spring boot項目啓動成功後日志如下:

在瀏覽器輸入測試用的url,結果如下:

持續更新…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章