javascript
SpringBoot项目新手——问题疑惑及解决笔记
文章目錄
- Java中@Override的作用
- @ResponseBody與@RestController的作用與區(qū)別
- @Autowired與@Resource異同:
- requestmethod.get和post的區(qū)別
- @RequestParam注解使用
- 1、作用:
- 2、語(yǔ)法:
- 3、測(cè)試環(huán)境:
- JSON 基本使用
- 自定義注解
- 持續(xù)更新中。。。
Java中@Override的作用
@Override是偽代碼,表示重寫(xiě)(當(dāng)然不寫(xiě)也可以),不過(guò)寫(xiě)上有如下好處:
1、可以當(dāng)注釋用,方便閱讀;
2、編譯器可以給你驗(yàn)證@Override下面的方法名是否是你父類(lèi)中所有的,如果沒(méi)有則報(bào)錯(cuò)。例如,你如果沒(méi)寫(xiě)@Override,而你下面的方法名又寫(xiě)錯(cuò)了,這時(shí)你的編譯器是可以編譯通過(guò)的,因?yàn)榫幾g器以為這個(gè)方法是你的子類(lèi)中自己增加的方法。
舉例:在重寫(xiě)父類(lèi)的onCreate時(shí),在方法前面加上@Override 系統(tǒng)可以幫你檢查方法的正確性。
@Override public void onCreate(Bundle savedInstanceState){…….}這種寫(xiě)法是正確的,如果你寫(xiě)成:
@Override public void oncreate(Bundle savedInstanceState) {…….}編譯器會(huì)報(bào)如下錯(cuò)誤:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以確保你正確重寫(xiě)onCreate方法(因?yàn)閛ncreate應(yīng)該為onCreate)。而如果你不加@Override,則編譯器將不會(huì)檢測(cè)出錯(cuò)誤,而是會(huì)認(rèn)為你為子類(lèi)定義了一個(gè)新方法:oncreate
@ResponseBody與@RestController的作用與區(qū)別
在使用springmvc框架的時(shí)候,在處理json的時(shí)候需要用到spring框架特有的注解@ResponseBody或者@RestController注解,這兩個(gè)注解都會(huì)處理返回的數(shù)據(jù)格式,使用了該類(lèi)型注解后返回的不再是視圖,不會(huì)進(jìn)行轉(zhuǎn)跳,而是返回json或xml數(shù)據(jù)格式,輸出在頁(yè)面上。
那么,這兩個(gè)注解在使用上有什么區(qū)別呢?
- @ResponseBody,一般是使用在單獨(dú)的方法上的,需要哪個(gè)方法返回json數(shù)據(jù)格式,就在哪個(gè)方法上使用,具有針對(duì)性。
- @RestController,一般是使用在類(lèi)上的,它表示的意思其實(shí)就是結(jié)合了@Controller和@ResponseBody兩個(gè)注解,
如果哪個(gè)類(lèi)下的所有方法需要返回json數(shù)據(jù)格式的,就在哪個(gè)類(lèi)上使用該注解,具有統(tǒng)一性;需要注意的是,使用了@RestController注解之后,其本質(zhì)相當(dāng)于在該類(lèi)的所有方法上都統(tǒng)一使用了@ResponseBody注解,所以該類(lèi)下的所有方法都會(huì)返回json數(shù)據(jù)格式,輸出在頁(yè)面上,而不會(huì)再返回視圖。
@Autowired與@Resource異同:
requestmethod.get和post的區(qū)別
@RequestParam注解使用
1、作用:
@RequestParam:將請(qǐng)求參數(shù)綁定到你控制器的方法參數(shù)上(是springmvc中接收普通參數(shù)的注解)
2、語(yǔ)法:
語(yǔ)法:@RequestParam(value=”參數(shù)名”,required=”true/false”,defaultValue=””)
value:參數(shù)名
required:是否包含該參數(shù),默認(rèn)為true,表示該請(qǐng)求路徑中必須包含該參數(shù),如果不包含就報(bào)錯(cuò)。
defaultValue:默認(rèn)參數(shù)值,如果設(shè)置了該值,required=true將失效,自動(dòng)為false,如果沒(méi)有傳該參數(shù),就使用默認(rèn)值
3、測(cè)試環(huán)境:
環(huán)境:jdk1.8 Tomcat8.5 idea2018 manven父工程子模塊
步驟:
1、創(chuàng)建web工程、引入依賴
2、配置SpringMvc入口文件 --DispatcherServlet–為總調(diào)度、web.xml里配置
3、創(chuàng)建Springmvc.xml文件–理解為:適配器(這里不需要自已指定適配、springmvc會(huì)自動(dòng)指定)–視圖解析器
4、創(chuàng)建 業(yè)務(wù)處理器 Controller類(lèi)
5、測(cè)試
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 提供了四種元注解,專門(mén)注解其他的注解(在自定義注解的時(shí)候,需要使用到元注解):// @Documented – 注解是否將包含在JavaDoc中// @Retention – 什么時(shí)候使用該注解// @Target – 注解用于什么地方// @Inherited – 是否允許子類(lèi)繼承該注解持續(xù)更新中。。。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的SpringBoot项目新手——问题疑惑及解决笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: number six
- 下一篇: 减肥吃中药可以吗