色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Springboot常用注解合集

jf_78858299 ? 來源:java架構學習專欄 ? 作者:java架構學習專欄 ? 2023-04-07 14:27 ? 次閱讀

常用注解

@SpringBootApplication

前幾章,在系統啟動類里面,都加入了此啟動注解,此注解是個組合注解,包括了@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan注解。

  • @SpringBootConfiguration 繼承至@Configuration,對于熟悉spring開發者而言,此標注當前類是配置類,并會將當前類內聲明的一個或多個以@Bean注解標記的方法的實例納入到srping容器中,并且實例名就是方法名。
  • @EnableAutoConfiguration 這個注解就是springboot能自動進行配置的魔法所在了。主要是通過此注解,能所有符合自動配置條件的bean的定義加載到spring容器中,比如根據spring-boot-starter-web ,來判斷你的項目是否需要添加了webmvctomcat,就會自動的幫你配置web項目中所需要的默認配置。具體的使用,會在后期自定義實現一個自動啟動類時,會講解到它的一些機制。此章節就不深入了,只需要它是這個用途即可,一般上也單獨使用不要這個注解,但比如需要排除一些無需自動配置的類時,可利用exclude進行排除。
  • @ComponentScan 這個熟悉spring的開發者也應該熟悉,會掃描當前包及其子包下被@Component,@Controller,@Service,@Repository等注解標記的類并納入到spring容器中進行管理。

@Controller 和 @RestController

@RestController 是Spring4之后加入的注解,原來在@Controller中返回json需要@ResponseBody來配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默認返回json格式。而@Controller是用來創建處理http請求的對象,一般結合@RequestMapping使用。

@RequestMapping

一個用來處理請求地址映射的注解,可用于類或方法上。用于類上,表示類中的所有響應請求的方法都是以該地址作為父路徑。

常用屬性(摘抄至網絡):

  • value, method;

    value: 指定請求的實際地址,指定的地址可以是URI Template 模式(后面將會說明);

    method: 指定請求的method類型, GET、POST、PUT、DELETE等;

  • consumes,produces;

    consumes: 指定處理請求的提交內容類型(Content-Type),例如application/json, text/html;

    produces: 指定返回的內容類型,僅當request請求頭中的(Accept)類型中包含該指定類型才返回;

  • params,headers

    params: 指定request中必須包含某些參數值是,才讓該方法處理。

    headers: 指定request中必須包含某些指定的header值,才能讓該方法處理請求。

常用的基本上就valuemethod了。 其簡化注解有

@GetMapping 等同于 @RequestMapping(method = RequestMethod.GET)

@PostMapping 等同于 @RequestMapping(method = RequestMethod.POST)

@PutMapping 等同于 @RequestMapping(method = RequestMethod.PUT)

@DeleteMapping 等同于 @RequestMapping(method = RequestMethod.DELETE)

@PatchMapping 等同于 @RequestMapping(method = RequestMethod.PATCH)

@RequestBody和@ResponseBody

  • @RequestBody注解允許request的參數在reqeust體中,常常結合前端POST請求,進行前后端交互。
  • @ResponseBody注解支持將的參數在reqeust體中,通常返回json格式給前端。

@PathVariable、@RequestParam、@RequestAttribute

  • @PathVariable用來接收參數,如/path/001,可接收001作為參數

圖片

  • @RequestParam 用來接收URL中的參數,如/param?id=001,可接收001作為參數

圖片

  • @RequestAttribute用于訪問由過濾器或攔截器創建的、預先存在的請求屬性,效果等同與request.getAttrbute().

圖片

@Component、@Service、@Repository

這三者都是申明一個單例的bean類并納入spring容器中,后兩者其實都是繼承于@Component

  • @Component 最普通的組件,可以被注入到spring容器進行管理
  • @Repository 作用于持久層
  • @Service 作用于業務邏輯層

通常一些類無法確定是使用@Service還是@Component時,注解使用@Component,比如redis的配置類等

@ModelAttribute

主要是綁定請求參數到指定對象上。此注解可被用于方法、參數上。

  • 運用在參數上,會將客戶端傳遞過來的參數按名稱注入到指定對象中,并且會將這個對象自動加入ModelMap中,便于View層使用;
  • 運用在方法上,會在每一個@RequestMapping 標注的方法前執行 ,如果有返回值,則自動將該返回值加入到ModelMap中;

由于現在都采用前后端分離開發,故此注解相對用的較少了,但對于一些在每次請求前需要進行一些額外操作時。使用此注解依然是個選擇,比如進行統一的業務校驗等,但使用此注解實現類似功能時需要注意,使用異步調用時,比如callable或者DeferredResult時,被此注解的方法會執行兩次,因為異步請求時,是掛起另一個線程去重新執行,對于配置了攔截器而已,它們的執行順序為

攔截器的相關知識點會在下章進行說明,這里只是特殊說明下。解決方案的話可簡單根據DispatcherType類型進行判斷,異步時對應類型為:ASYNC,第一次請求正常為:REQUEST。

@Qualifier:當有多個同一類型的Bean時,可以用@Qualifier(“name”)來指定。與@Autowired配合使用。@Qualifier限定描述符除了能根據名字進行注入,但能進行更細粒度的控制如何選擇候選者,具體使用方式如下:

@Autowired 
@Qualifier(value = “demoInfoService”) 
private DemoInfoService demoInfoService;

@Resource(name=”name”,type=”type”):沒有括號內內容的話,默認byName。與@Autowired干類似的事。

@Api @ApiOperation @ApiParam

@Api @ApiOperation @ApiParam主要是用于swagger提供開發者文檔,文檔中生成的注釋內容

圖片

JPA注解

@Entity:@Table(name=”“):表明這是一個實體類。一般用于jpa這兩個注解一般一塊使用,但是如果表名和實體類名相同的話,@Table可以省略

@MappedSuperClass:用在確定是父類的entity上。父類的屬性子類可以繼承。

@NoRepositoryBean:一般用作父類的repository,有這個注解,spring不會去實例化該repository。

@Column:如果字段名與列名相同,則可以省略。

@Id:表示該屬性為主鍵。

@GeneratedValue(strategy = GenerationType.SEQUENCE,generator = “repair_seq”):表示主鍵生成策略是sequence(可以為Auto、IDENTITY、native等,Auto表示可在多個數據庫間切換),指定sequence的名字是repair_seq。

@SequenceGeneretor(name = “repair_seq”, sequenceName = “seq_repair”, allocationSize = 1):name為sequence的名稱,以便使用,sequenceName為數據庫的sequence名稱,兩個名稱可以一致。

@Transient:表示該屬性并非一個到數據庫表的字段的映射,ORM框架將忽略該屬性。如果一個屬性并非數據庫表的字段映射,就務必將其標示為@Transient,否則,ORM框架默認其注解為@Basic。@Basic(fetch=FetchType.LAZY):標記可以指定實體屬性的加載方式

@JsonIgnore:作用是json序列化時將Java bean中的一些屬性忽略掉,序列化和反序列化都受影響。

@JoinColumn(name=”loginId”):一對一:本表中指向另一個表的外鍵。一對多:另一個表指向本表的外鍵。

@OneToOne、@OneToMany、@ManyToOne:對應hibernate配置文件中的一對一,一對多,多對一。

全局異常處理

@ControllerAdvice:包含@Component。可以被掃描到。統一處理異常。

@ExceptionHandler(Exception.class):用在方法上面表示遇到這個異常就執行以下方法。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • spring
    +關注

    關注

    0

    文章

    340

    瀏覽量

    14338
  • 系統
    +關注

    關注

    1

    文章

    1014

    瀏覽量

    21332
  • 注解
    +關注

    關注

    0

    文章

    18

    瀏覽量

    2672
  • SpringBoot
    +關注

    關注

    0

    文章

    173

    瀏覽量

    177
收藏 人收藏

    評論

    相關推薦

    Springboot是如何獲取自定義異常并進行返回的

    源碼剖析Springboot是如何獲取自定義異常并進行返回的。來吧!第一步:肯定是在Springboot啟動的過程中進行的異常處理初始化,于是就找到了handlerExceptionResolver類
    發表于 03-22 14:15

    Spring Boot的注解原理是什么

    首先,先看SpringBoot的主配置類: @SpringBootApplicationpublic class StartEurekaApplication { public static
    的頭像 發表于 08-27 09:24 ?2192次閱讀

    Spring Boot中常見的各類型注解的使用方式

    大家好,我是程序汪,企業開發項目SpringBoot已經是必備框架了,其中注解是開發中的小工具(誰處可見哦),用好了開發效率大大提升,當然用錯了也會引入缺陷。
    的頭像 發表于 06-20 16:38 ?1815次閱讀

    Spring Boot常用注解與使用方式

    企業開發項目SpringBoot已經是必備框架了,其中注解是開發中的小工具(誰處可見哦),用好了開發效率大大提升,當然用錯了也會引入缺陷。
    的頭像 發表于 07-08 10:57 ?1364次閱讀

    求一種SpringBoot定時任務動態管理通用解決方案

    SpringBoot的定時任務的加強工具,實現對SpringBoot原生的定時任務進行動態管理,完全兼容原生@Scheduled注解,無需對原本的定時任務進行修改
    的頭像 發表于 02-03 09:49 ?774次閱讀

    什么是 SpringBoot

    本文從為什么要有 `SpringBoot`,以及 `SpringBoot` 到底方便在哪里開始入手,逐步分析了 `SpringBoot` 自動裝配的原理,最后手寫了一個簡單的 `start` 組件,通過實戰來體會了 `
    的頭像 發表于 04-07 11:28 ?1306次閱讀
    什么是 <b class='flag-5'>SpringBoot</b>?

    SpringBoot常用注解及使用方法1

    基于 SpringBoot 平臺開發的項目數不勝數,與常規的基于`Spring`開發的項目最大的不同之處,SpringBoot 里面提供了大量的注解用于快速開發,而且非常簡單,基本可以做到開箱即用! 那
    的頭像 發表于 04-07 11:51 ?698次閱讀

    SpringBoot常用注解及使用方法2

    基于 SpringBoot 平臺開發的項目數不勝數,與常規的基于Spring開發的項目最大的不同之處,SpringBoot 里面提供了大量的注解用于快速開發,而且非常簡單,基本可以做到開箱即用!
    的頭像 發表于 04-07 11:52 ?675次閱讀

    SpringBoot常用注解及原理

    SpringBootConfiguration繼承自@Configuration,二者功能也一致,標注當前類是配置類, 并會將當前類內聲明的一個或多個以@Bean注解標記的方法的實例納入到spring容器中,并且實例名就是方法名。
    的頭像 發表于 04-07 14:30 ?582次閱讀

    SpringBoot的核心注解1

    今天跟大家來探討下SpringBoot的核心注解@SpringBootApplication以及run方法,理解下springBoot為什么不需要XML,達到零配置
    的頭像 發表于 04-07 14:34 ?701次閱讀
    <b class='flag-5'>SpringBoot</b>的核心<b class='flag-5'>注解</b>1

    SpringBoot的核心注解2

    今天跟大家來探討下SpringBoot的核心注解@SpringBootApplication以及run方法,理解下springBoot為什么不需要XML,達到零配置
    的頭像 發表于 04-07 14:34 ?1958次閱讀
    <b class='flag-5'>SpringBoot</b>的核心<b class='flag-5'>注解</b>2

    springmvc常用5種注解

    SpringMVC是一種基于Java的Web框架,使用注解可以更加方便靈活地開發和管理控制器,實現請求的映射和處理。在SpringMVC中,有許多常用注解,本文將詳細介紹其中的五種注解
    的頭像 發表于 11-22 16:51 ?886次閱讀

    springboot核心注解

    Spring Boot 是基于 Spring 框架的開源框架,它可以幫助開發者快速構建、部署和運行獨立的、生產級的 Spring 應用程序。Spring Boot 提供了一系列核心注解,這些注解可以
    的頭像 發表于 11-23 09:23 ?513次閱讀

    一個注解搞定SpringBoot接口防刷

    技術要點:springboot的基本知識,redis基本操作,
    的頭像 發表于 11-28 10:46 ?402次閱讀

    SpringBoot核心注解由幾個注解組成

    簡化應用程序開發的注解,其中核心注解包括 @SpringBootApplication、@RestController、@RequestMapping、@Autowired、@ComponentScan
    的頭像 發表于 12-03 15:09 ?755次閱讀
    主站蜘蛛池模板: 囯产精品麻豆巨作久久| 午夜国产精品免费观看| 久久天天躁狠狠躁夜夜呲| 国产精品视频免费视频| 高H辣肉办公室| 成人手机在线| YELLOW视频直播在线观看高清| 69人体阴展网| 24小时日本在线电影| 中文字幕一区中文亚洲| 樱桃视频高清免费观看在线播放| 亚洲免费高清视频| 亚洲精品午夜aaa级久久久久| 亚洲第一成年人网站| 亚洲精品AV一区午夜福利| 亚洲精品黄色| 一攻多受h嗯啊巨肉bl巨污| 伊人久久中文大香线蕉综合| 在线观看中文| 91精品国产色综合久久不| 99久久久无码国产精品不卡按摩 | 久久欧洲视频| 两个奶头被吃得又翘又痛| 免费在线伦理片| 日本xxxxx按摩19| 全肉高H短篇合集| 视频一区精品自拍亚洲| 午夜日本大胆裸艺术| 亚洲高清视频一区| 一个人看的HD免费高清视频| 中文字幕在线观看亚洲| 91嫩草视频在线观看| 草莓视频app深夜福利| 国产精品久久久久久52AVAV | 97超碰在线视频人人av| 97超碰在线视频 免费| 超碰日韩人妻高清视频| 国产精品视频在线自在线| 狠狠射首页| 免费毛片试看| 双腿被绑成M型调教PLAY照片|