日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

28個SpringBoot項目中常用注解,日常開發、求職面試不再懵圈

來源: 責編: 時間:2023-08-05 11:44:27 4688觀看
導讀前言在使用SpringBoot開發中或者在求職面試中都會使用到很多注解或者問到注解相關的知識。本文主要對一些常用的注解進行了總結,同時也會舉出具體例子,供大家學習和參考。注解一覽表啟動類以及配置類相關@SpringBootApp

前言

在使用SpringBoot開發中或者在求職面試中都會使用到很多注解或者問到注解相關的知識。本文主要對一些常用的注解進行了總結,同時也會舉出具體例子,供大家學習和參考。bt128資訊網——每日最新資訊28at.com

注解一覽表

bt128資訊網——每日最新資訊28at.com

bt128資訊網——每日最新資訊28at.com

啟動類以及配置類相關

@SpringBootApplication

解釋:bt128資訊網——每日最新資訊28at.com

  • @SpringBootApplication是組合注解。相當于@Configuration、@EnableAutoConfiguration、@ComponentScan的組合。
  • 用于標記啟動類,指出應用入口
@SpringBootApplicationpublic class MyApplication {    public static void main(String[] args) {        SpringApplication.run(MyApplication.class, args);    }}

@Configuration

解釋:bt128資訊網——每日最新資訊28at.com

  • 聲明當前類為配置類。相當于xml配置中的beans標簽。
@Configurationpublic class MyConfig {    @Bean    public MyBean myBean() {        return new MyBean();    }}

@EnableAutoConfiguration

解釋:bt128資訊網——每日最新資訊28at.com

  • 開啟SpringBoot自動裝配功能。
@SpringBootApplication@EnableAutoConfigurationpublic class MyApplication {    // ...}

@ComponentScan

解釋:bt128資訊網——每日最新資訊28at.com

  • 配置SpringBoot掃描包路徑。
@SpringBootApplication@ComponentScan("com.example")public class MyApplication {    // ...}

控制層相關

@RestController

解釋:bt128資訊網——每日最新資訊28at.com

  • @RestController注解用于定義控制器類,將其返回的結果自動轉換為JSON格式
@RestControllerpublic class UserController {    @GetMapping("/users")    public List<User> getAllUsers() {        // 返回所有用戶列表的邏輯    }}

@RequestMapping

解釋:bt128資訊網——每日最新資訊28at.com

  • 用于映射HTTP請求到處理器上,指定處理器方法的URL路徑和HTTP請求方法。
@RestController@RequestMapping("/users")public class UserController {    @GetMapping("/{id}")    public User getUserById(@PathVariable("id") Long id) {        // 根據id獲取用戶的邏輯    }}

@GetMapping、@PostMapping、@DeleteMapping、@PutMappingbt128資訊網——每日最新資訊28at.com

解釋:bt128資訊網——每日最新資訊28at.com

  • @GetMapping注解用于處理HTTP的GET請求,并將請求映射到相應的處理器方法上。
  • @PostMapping注解用于處理HTTP的POST請求,并將請求映射到相應的處理器方法上。
  • @DeleteMapping注解用于處理HTTP的DELETE請求,并將請求映射到相應的處理器方法上。
  • @PutMapping是Spring框架中用于處理HTTP的PUT請求的注解。PUT請求通常用于更新資源,即將新的數據替換掉指定的資源。
@RestController@RequestMapping("/users")public class UserController {    @GetMapping("/{id}")    public User getUserById(@PathVariable("id") Long id) {        // 根據id獲取用戶的邏輯    }}@RestController@RequestMapping("/users")public class UserController {    @PostMapping    public User createUser(@RequestBody User user) {        // 創建用戶的邏輯    }}@RestController@RequestMapping("/users")public class UserController {    @DeleteMapping("/{id}")    public void deleteUser(@PathVariable("id") Long id) {        // 刪除用戶的邏輯    }}@RestController@RequestMapping("/users")public class UserController {    @PutMapping("/{id}")    public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {        // 更新用戶信息的邏輯    }}

@RequestParam

解釋:bt128資訊網——每日最新資訊28at.com

  • @RequestParam注解用于獲取請求參數的值,并將其綁定到處理器方法的形參上。一般用于路徑中?傳參形式。
@RestController@RequestMapping("/users")public class UserController {    @GetMapping    public List<User> getUsersByPage(@RequestParam("page") int page,                                      @RequestParam(value = "size", defaultValue = "10") int size) {        // 分頁查詢用戶列表的邏輯    }}

@PathVariable

解釋:bt128資訊網——每日最新資訊28at.com

  • 用于獲取URL路徑中的變量值,并將其綁定到處理器方法的形參上。一般用于/傳參的形式。
@RestController@RequestMapping("/users")public class UserController {    @GetMapping("/{id}")    public User getUserById(@PathVariable("id") Long id) {        // 根據id獲取用戶的邏輯    }}

@RequestBody

解釋:bt128資訊網——每日最新資訊28at.com

  • 用于接收HTTP請求的請求體內容,并將其轉化為對應的Java對象或其他類型的參數。
@RestController@RequestMapping("/users")public class UserController {    @PostMapping    public User createUser(@RequestBody User user) {        // 創建用戶的邏輯    }}

@Valid

解釋:bt128資訊網——每日最新資訊28at.com

  • @Valid用于開啟數據驗證功能,對方法參數進行校驗,確保其滿足定義的驗證規則
@RestController@RequestMapping("/users")public class UserController {    @PostMapping    public ResponseEntity<User> createUser(@Valid @RequestBody User user) {        // 創建用戶的邏輯        return ResponseEntity.status(HttpStatus.CREATED).body(user);    }}

Bean管理相關bt128資訊網——每日最新資訊28at.com

  • @Autowired: 自動裝配,用于自動注入依賴的Bean實例。
  • @Service: 用于標識一個服務類,表示它是業務邏輯層的組件。
  • @Repository: 用于標識一個數據訪問類,表示它是數據訪問層的組件。
  • @Component: 通用的Spring組件注解,用于標識一個普通的Bean組件。
  • @Value: 注入配置文件中的值到對應的變量中。

異步和定時相關

@EnableScheduling、@Scheduled

解釋:bt128資訊網——每日最新資訊28at.com

  • @EnableScheduling:啟動類添加@EnableScheduling開啟任務調度功能。
  • @Scheduled:定時任務注解,用于標識定時任務的方法。
@SpringBootApplication@EnableSchedulingpublic class MyApp {    public static void main(String[] args) {        SpringApplication.run(MyApp.class, args);    }}@Componentpublic class MyScheduler {    @Scheduled(fixedRate = 5000)    public void myTask() {        // 每個5秒執行一次的任務邏輯    }}@Componentpublic class MyScheduler {    @Scheduled(cron = "0 0 8 * * ?")    public void myTask() {        // 每天早上8點執行的任務邏輯    }}

@EnableAsync、@Async

解釋:bt128資訊網——每日最新資訊28at.com

  • @EnableAsync:啟動類添加,開啟異步任務。
  • @Async:標識異步任務方法。
@SpringBootApplication@EnableAsyncpublic class MyApp {    public static void main(String[] args) {        SpringApplication.run(MyApp.class, args);    }}@Servicepublic class MyService {    @Async    public CompletableFuture<String> asyncTask() {        // 異步執行的任務邏輯        // 返回一個CompletableFuture以支持異步結果的處理    }}

緩存和事務管理

解釋:bt128資訊網——每日最新資訊28at.com

  • @EnableCaching: 開啟Spring的緩存支持,用于緩存方法的結果,提高性能。
  • @Transactional: 提供聲明式事務管理,用于標識需要使用事務的方法或類。
  • @EnableTransactionManagement: 開啟事務管理支持,用于啟用Spring的聲明式事務管理功能
@SpringBootApplication@EnableCaching@EnableTransactionManagementpublic class MyApp {    public static void main(String[] args) {        SpringApplication.run(MyApp.class, args);    }}@Servicepublic class MyService {    @Transactional    public void performTransaction() {        // 執行數據庫操作等需要事務管理的邏輯    }}

異常處理相關

@RestControllerAdvice、@ExceptionHandler

  • @RestControllerAdvice:結合了@ControllerAdvice和@ResponseBody注解的功能。它用于定義全局的異常處理和統一的響應處理。
  • @ExceptionHandler:指定類型的異常進行統一處理。
@RestControllerAdvicepublic class GlobalExceptionHandler {    @ExceptionHandler(Exception.class)    public ResponseEntity<String> handleException(Exception e) {        // 異常處理邏輯,可以根據實際需求進行對異常的處理和返回相應的錯誤信息        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal Server Error");    }}

寫在最后

有關于SpringBoot常用注解到此就結束了。bt128資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-74-0.html28個SpringBoot項目中常用注解,日常開發、求職面試不再懵圈

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 三言兩語說透設計模式的藝術-簡單工廠模式

下一篇: K6:面向開發人員的現代負載測試工具

標簽:
  • 熱門焦點
  • 紅魔電競平板評測:大屏幕硬實力

    前言:三年的疫情因為要上網課的原因激活了平板市場,如今網課的時代已經過去,大家的生活都恢復到了正軌,這也就意味著,真正考驗平板電腦生存的環境來了。也就是面對著這種殘酷的
  • 6月iOS設備性能榜:M2穩居榜首 A系列只能等一手3nm來救

    沒有新品發布,自然iOS設備性能榜的上榜設備就沒有什么更替,僅僅只有跑分變化而產生的排名變動,畢竟蘋果新品的發布節奏就是這樣的,一年下來也就幾個移動端新品,不會像安卓廠商,一
  • 虛擬鍵盤 API 的妙用

    你是否在遇到過這樣的問題:移動設備上有一個固定元素,當激活虛擬鍵盤時,該元素被隱藏在了鍵盤下方?多年來,這一直是 Web 上的默認行為,在本文中,我們將探討這個問題、為什么會發生
  • 新電商三兄弟,“抖快紅”成團!

    來源:價值研究所作 者:Hernanderz 隨著內容電商的概念興起,抖音、快手、小紅書組成的&ldquo;新電商三兄弟&rdquo;成為業內一股不可忽視的勢力,給阿里、京東、拼多多帶去了巨大壓
  • 2納米決戰2025

    集微網報道 從三強爭霸到四雄逐鹿,2nm的廝殺聲已然隱約傳來。無論是老牌勁旅臺積電、三星,還是誓言重回先進制程領先地位的英特爾,甚至初成立不久的新
  • 自研Exynos回歸!三星Galaxy S24系列將提供Exynos和驍龍雙版本

    年初,全新的三星Galaxy S23系列發布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三個版本,全系搭載超頻版驍龍8 Gen 2,雖同樣采用臺積電4nm工藝制
  • iQOO 11S評測:行業唯一的200W標準版旗艦

    【Techweb評測】去年底,iQOO推出了“電競旗艦”iQOO 11系列,作為一款性能強機,該機不僅全球首發2K 144Hz E6全感屏,搭載了第二代驍龍8平臺及144Hz電競
  • OPPO K11采用全方位護眼屏:三大護眼能力減輕視覺疲勞

    日前OPPO官方宣布,全新的OPPO K11將于7月25日正式發布,將主打旗艦影像,和同檔位競品相比,其最大的賣點就是將配備索尼IMX890主攝,堪稱是2000檔位影像表
  • AI藝術欣賞體驗會在上海梅賽德斯奔馳中心音樂俱樂部上演

    光影交錯的鏡像世界,虛實幻化的視覺奇觀,虛擬偶像與真人共同主持,這些場景都出現在2019世界人工智能大會的舞臺上。8月29日至31日,“AI藝術欣賞體驗會”在上海
Top 主站蜘蛛池模板: 明溪县| 湟中县| 郑州市| 繁昌县| 江北区| 五莲县| 青川县| 仙桃市| 康平县| 新安县| 宝鸡市| 恩施市| 靖边县| 绍兴市| 成武县| 罗山县| 墨玉县| 绍兴县| 长海县| 游戏| 广河县| 盐城市| 五寨县| 化德县| 天门市| 牙克石市| 泽库县| 平江县| 丰台区| 甘洛县| 淮南市| 天祝| 咸丰县| 商南县| 湖州市| 甘洛县| 桃园县| 伊春市| 双桥区| 波密县| 东光县|