日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

前言

在使用SpringBoot開發(fā)中或者在求職面試中都會(huì)使用到很多注解或者問到注解相關(guān)的知識(shí)。本文主要對一些常用的注解進(jìn)行了總結(jié),同時(shí)也會(huì)舉出具體例子,供大家學(xué)習(xí)和參考。

注解一覽表

 


 

啟動(dòng)類以及配置類相關(guān)

@SpringBootApplication

解釋:

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

@Configuration

解釋:

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

@EnableAutoConfiguration

解釋:

  • 開啟SpringBoot自動(dòng)裝配功能。
@SpringBootApplication
@EnableAutoConfiguration
public class MyApplication {
    // ...
}

@ComponentScan

解釋:

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

控制層相關(guān)

@RestController

解釋:

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

@RequestMapping

解釋:

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

@GetMapping、@PostMapping、@DeleteMapping、@PutMapping

解釋:

  • @GetMapping注解用于處理HTTP的GET請求,并將請求映射到相應(yīng)的處理器方法上。
  • @PostMapping注解用于處理HTTP的POST請求,并將請求映射到相應(yīng)的處理器方法上。
  • @DeleteMapping注解用于處理HTTP的DELETE請求,并將請求映射到相應(yīng)的處理器方法上。
  • @PutMapping是Spring框架中用于處理HTTP的PUT請求的注解。PUT請求通常用于更新資源,即將新的數(shù)據(jù)替換掉指定的資源。

 

@RestController
@RequestMapping("/users")
public class UserController {
    @GetMapping("/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        // 根據(jù)id獲取用戶的邏輯
    }
}


@RestController
@RequestMapping("/users")
public class UserController {
    @PostMapping
    public User createUser(@RequestBody User user) {
        // 創(chuàng)建用戶的邏輯
    }
}


@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

解釋:

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

@PathVariable

解釋:

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

@RequestBody

解釋:

  • 用于接收HTTP請求的請求體內(nèi)容,并將其轉(zhuǎn)化為對應(yīng)的JAVA對象或其他類型的參數(shù)。
@RestController
@RequestMapping("/users")
public class UserController {
    @PostMapping
    public User createUser(@RequestBody User user) {
        // 創(chuàng)建用戶的邏輯
    }
}

@Valid

解釋:

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

Bean管理相關(guān)

  • @Autowired: 自動(dòng)裝配,用于自動(dòng)注入依賴的Bean實(shí)例。
  • @Service: 用于標(biāo)識(shí)一個(gè)服務(wù)類,表示它是業(yè)務(wù)邏輯層的組件。
  • @Repository: 用于標(biāo)識(shí)一個(gè)數(shù)據(jù)訪問類,表示它是數(shù)據(jù)訪問層的組件。
  • @Component: 通用的Spring組件注解,用于標(biāo)識(shí)一個(gè)普通的Bean組件。
  • @Value: 注入配置文件中的值到對應(yīng)的變量中。

 

異步和定時(shí)相關(guān)

@EnableScheduling、@Scheduled

解釋:

  • @EnableScheduling:啟動(dòng)類添加@EnableScheduling開啟任務(wù)調(diào)度功能。
  • @Scheduled:定時(shí)任務(wù)注解,用于標(biāo)識(shí)定時(shí)任務(wù)的方法。
@SpringBootApplication
@EnableScheduling
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}


@Component
public class MyScheduler {
    @Scheduled(fixedRate = 5000)
    public void myTask() {
        // 每個(gè)5秒執(zhí)行一次的任務(wù)邏輯
    }
}


@Component
public class MyScheduler {
    @Scheduled(cron = "0 0 8 * * ?")
    public void myTask() {
        // 每天早上8點(diǎn)執(zhí)行的任務(wù)邏輯
    }
}

@EnableAsync、@Async

解釋:

  • @EnableAsync:啟動(dòng)類添加,開啟異步任務(wù)。
  • @Async:標(biāo)識(shí)異步任務(wù)方法。
@SpringBootApplication
@EnableAsync
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}


@Service
public class MyService {
    @Async
    public CompletableFuture<String> asyncTask() {
        // 異步執(zhí)行的任務(wù)邏輯
        // 返回一個(gè)CompletableFuture以支持異步結(jié)果的處理
    }
}

緩存和事務(wù)管理

解釋:

  • @EnableCaching: 開啟Spring的緩存支持,用于緩存方法的結(jié)果,提高性能。
  • @Transactional: 提供聲明式事務(wù)管理,用于標(biāo)識(shí)需要使用事務(wù)的方法或類。
  • @EnableTransactionManagement: 開啟事務(wù)管理支持,用于啟用Spring的聲明式事務(wù)管理功能

 

@SpringBootApplication
@EnableCaching
@EnableTransactionManagement
public class MyApp {
    public static void main(String[] args) {
        SpringApplication.run(MyApp.class, args);
    }
}
@Service
public class MyService {
    @Transactional
    public void performTransaction() {
        // 執(zhí)行數(shù)據(jù)庫操作等需要事務(wù)管理的邏輯
    }
}

異常處理相關(guān)

@RestControllerAdvice、@ExceptionHandler

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

寫在最后

有關(guān)于SpringBoot常用注解到此就結(jié)束了。感謝大家的閱讀,希望大家對此部分內(nèi)容散發(fā)討論或者還有其他注解可以在評論區(qū)進(jìn)行補(bǔ)充,便于學(xué)到更多的知識(shí)。感激不盡!

分享到:
標(biāo)簽:SpringBoot
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定