日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot项目新手——问题疑惑及解决笔记

發布時間:2023/12/4 javascript 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot项目新手——问题疑惑及解决笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • Java中@Override的作用
  • @ResponseBody與@RestController的作用與區別
  • @Autowired與@Resource異同:
  • requestmethod.get和post的區別
  • @RequestParam注解使用
    • 1、作用:
    • 2、語法:
    • 3、測試環境:
  • JSON 基本使用
  • 自定義注解
  • 持續更新中。。。

Java中@Override的作用

@Override是偽代碼,表示重寫(當然不寫也可以),不過寫上有如下好處:
1、可以當注釋用,方便閱讀;
2、編譯器可以給你驗證@Override下面的方法名是否是你父類中所有的,如果沒有則報錯。例如,你如果沒寫@Override,而你下面的方法名又寫錯了,這時你的編譯器是可以編譯通過的,因為編譯器以為這個方法是你的子類中自己增加的方法。

舉例:在重寫父類的onCreate時,在方法前面加上@Override 系統可以幫你檢查方法的正確性。

@Override public void onCreate(Bundle savedInstanceState){…….}

這種寫法是正確的,如果你寫成:

@Override public void oncreate(Bundle savedInstanceState) {…….}

編譯器會報如下錯誤:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以確保你正確重寫onCreate方法(因為oncreate應該為onCreate)。而如果你不加@Override,則編譯器將不會檢測出錯誤,而是會認為你為子類定義了一個新方法:oncreate

@ResponseBody與@RestController的作用與區別

在使用springmvc框架的時候,在處理json的時候需要用到spring框架特有的注解@ResponseBody或者@RestController注解,這兩個注解都會處理返回的數據格式,使用了該類型注解后返回的不再是視圖,不會進行轉跳,而是返回json或xml數據格式,輸出在頁面上。
那么,這兩個注解在使用上有什么區別呢?

  • @ResponseBody,一般是使用在單獨的方法上的,需要哪個方法返回json數據格式,就在哪個方法上使用,具有針對性。
  • @RestController,一般是使用在類上的,它表示的意思其實就是結合了@Controller和@ResponseBody兩個注解,

如果哪個類下的所有方法需要返回json數據格式的,就在哪個類上使用該注解,具有統一性;需要注意的是,使用了@RestController注解之后,其本質相當于在該類的所有方法上都統一使用了@ResponseBody注解,所以該類下的所有方法都會返回json數據格式,輸出在頁面上,而不會再返回視圖。

@Autowired與@Resource異同:

  • @Autowired與@Resource都可以用來裝配bean。都可以寫在字段上,或寫在setter方法上。
  • @Autowired默認按類型裝配(屬于spring規范),默認情況下必須要求依賴對象必須存在,如果要允許null 值,可以設置它的required屬性為false,如:@Autowired(required=false) ,如果我們想使用名稱裝配可以結合@Qualifier注解進行使用
  • @Resource(屬于J2EE復返),默認按照名稱進行裝配,名稱可以通過name屬性進行指定。如果沒有指定name屬性,當注解寫在字段上時,默認取字段名進行按照名稱查找,如果注解寫在setter方法上默認取屬性名進行裝配。 當找不到與名稱匹配的bean時才按照類型進行裝配。但是需要注意的是,如果name屬性一旦指定,就只會按照名稱進行裝配。它們的作用相同都是用注解方式注入對象,但執行順序不同。@Autowired先byType,@Resource先byName。
  • requestmethod.get和post的區別

  • 方法的@RequestMapping的value就是原先對返回值的限定。method則是對請求method屬性的限定。
  • 利用@RequestMapping標識控制來進行請求url向物理視圖的映射。但是 ,這種對請求的映射不僅僅不局限在標示的方法的返回值對請求url上,還可以對請求的其屬性做出約定,如請求的method,是get還是post。如果做出了method的條件限定,當請求的url即使映射上了,method不符合的話也不能生成物理視圖并轉發到目標頁面。
  • 一般查詢服務的時候用get,向后臺提交數據時用post,如注冊等等。這個說白了就是http里面get和post的差別了,post安全點,提交的數據多點,數據是放在http頭信息里面的,get的參數是在URL后面的。
  • @RequestParam注解使用

    1、作用:

    @RequestParam:將請求參數綁定到你控制器的方法參數上(是springmvc中接收普通參數的注解)

    2、語法:

    語法:@RequestParam(value=”參數名”,required=”true/false”,defaultValue=””)
    value:參數名
    required:是否包含該參數,默認為true,表示該請求路徑中必須包含該參數,如果不包含就報錯。
    defaultValue:默認參數值,如果設置了該值,required=true將失效,自動為false,如果沒有傳該參數,就使用默認值

    3、測試環境:

    環境:jdk1.8 Tomcat8.5 idea2018 manven父工程子模塊
    步驟:
    1、創建web工程、引入依賴
    2、配置SpringMvc入口文件 --DispatcherServlet–為總調度、web.xml里配置
    3、創建Springmvc.xml文件–理解為:適配器(這里不需要自已指定適配、springmvc會自動指定)–視圖解析器
    4、創建 業務處理器 Controller類
    5、測試

    JSON 基本使用

    大佬博客

    自定義注解

    import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.Target; import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.RetentionPolicy.RUNTIME;/*** 注解*/ @Target(FIELD) @Retention(RUNTIME) @Documented public @interface FruitName {String value() default ""; }//java.lang.annotation 提供了四種元注解,專門注解其他的注解(在自定義注解的時候,需要使用到元注解):// @Documented – 注解是否將包含在JavaDoc中// @Retention – 什么時候使用該注解// @Target – 注解用于什么地方// @Inherited – 是否允許子類繼承該注解

    持續更新中。。。

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的SpringBoot项目新手——问题疑惑及解决笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。