亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spring Boot 常用注解大全

 更新時間:2024年02月22日 15:28:29   投稿:wdc  
這篇文章主要介紹了Spring Boot 常用注解大全,需要的朋友可以參考下

以下是Spring Boot中常用的注解及其詳細解釋以及相應的代碼示例:

@SpringBootApplication: 這個注解用于標識一個Spring Boot應用的主類。它整合了 @Configuration,@EnableAutoConfiguration 和 @ComponentScan

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

@RestController: 這個注解用于定義一個RESTful控制器,在Spring MVC中它表示所有的處理方法都返回一個Restful風格的數(shù)據(jù)。

@RestController
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

@Service: 這個注解用于標識一個類是業(yè)務邏輯層的組件。

@Service
public class UserService {
    // Service logic here
}

@Repository: 這個注解用于標識一個類是數(shù)據(jù)訪問層的組件。

@Repository
public class UserRepository {
    // Data access logic here
}

@Component: 這個注解用于標識一個類是Spring的組件。

@Component
public class MyComponent {
    // Component logic here
}

@Autowired: 這個注解用于自動裝配Spring Bean。

@Service
public class UserService {
    @Autowired
    private UserRepository userRepository;

    // Service logic here
}

@Qualifier: 當多個實現(xiàn)類滿足一個接口時,可以與 @Autowired 配合使用以指定具體要注入的Bean。

@Service
public class UserService {
    @Autowired
    @Qualifier("userDatabaseRepository")
    private UserRepository userRepository;

    // Service logic here
}

@RequestMapping: 這個注解用于將HTTP請求映射到處理方法上。

@RestController
@RequestMapping("/api")
public class MyController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

@GetMapping@PostMapping@PutMapping@DeleteMapping: 這些注解用于將HTTP GET、POST、PUT、DELETE 請求映射到處理方法上。

@RestController
@RequestMapping("/api")
public class MyController {
    @GetMapping("/get")
    public String get() {
        return "GET Request";
    }

    @PostMapping("/post")
    public String post() {
        return "POST Request";
    }

    @PutMapping("/put")
    public String put() {
        return "PUT Request";
    }

    @DeleteMapping("/delete")
    public String delete() {
        return "DELETE Request";
    }
}

@RequestParam: 這個注解用于從請求中獲取參數(shù)的值。

@GetMapping("/user")
public String getUserById(@RequestParam Long id) {
    // logic to fetch user by id
}

@PathVariable: 這個注解用于從請求的URL中獲取參數(shù)的值。

@GetMapping("/user/{id}")
public String getUserById(@PathVariable Long id) {
    // logic to fetch user by id
}

@ResponseBody: 這個注解用于將方法返回的對象轉(zhuǎn)換為HTTP響應的主體部分。

@GetMapping("/user")
@ResponseBody
public User getUser() {
    // logic to fetch user
    return user;
}

@RequestBody: 這個注解用于將HTTP請求的主體部分轉(zhuǎn)換為方法參數(shù)。

@PostMapping("/user")
public String addUser(@RequestBody User user) {
    // logic to add user
}

@ResponseStatus: 這個注解用于指定方法返回的HTTP狀態(tài)碼。

@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
    // Exception handling logic here
}

@ExceptionHandler: 這個注解用于定義全局異常處理方法。

@ControllerAdvice
public class GlobalExceptionHandler {
    @ExceptionHandler(Exception.class)
    public String handleException(Exception ex) {
        // Exception handling logic here
        return "error";
    }
}

@Configuration: 這個注解用于定義配置類,通常與 @Bean 注解一起使用。

@Configuration
public class AppConfig {
    @Bean
    public UserService userService() {
        return new UserService();
    }
}

@Value: 這個注解用于從配置文件中獲取值。

@Component
public class MyComponent {
    @Value("${my.property}")
    private String myProperty;

    // Component logic here
}

以上是一些常見的Spring Boot注解及其用法示例。在實際開發(fā)中,可能還會使用到其他的注解,具體根據(jù)項目需求和設計選擇。

相關(guān)文章

  • MacOS如何安裝配置多個JDK并切換使用詳解

    MacOS如何安裝配置多個JDK并切換使用詳解

    這篇文章主要介紹了如何在MacOS上安裝和配置多個JDK版本,通過配置環(huán)境變量來實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-02-02
  • Java?遠程調(diào)用失敗重試的操作方法

    Java?遠程調(diào)用失敗重試的操作方法

    這篇文章主要介紹了Java?遠程調(diào)用失敗重試的操作方法,今天給大家介紹了一下?Spring??的?@Retryable?注解使用,并通過幾個 demo 來帶大家編寫了自己重試攔截器以及回滾方法,需要的朋友可以參考下
    2022-09-09
  • Java加載ICC文件的方法和示例代碼

    Java加載ICC文件的方法和示例代碼

    ICC文件,通常用于顏色管理,定義了如何將一個顏色空間轉(zhuǎn)換為另一個顏色空間,在Java中,我們可能需要加載這些文件來進行顏色轉(zhuǎn)換或管理,本文將為您提供加載ICC文件的方法和示例代碼,需要的朋友參考下吧
    2023-08-08
  • Javaweb基礎入門HTML之table與form

    Javaweb基礎入門HTML之table與form

    HTML的全稱為超文本標記語言,是一種標記語言。它包括一系列標簽.通過這些標簽可以將網(wǎng)絡上的文檔格式統(tǒng)一,使分散的Internet資源連接為一個邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動畫、聲音、表格、鏈接等
    2022-03-03
  • 幾道常問Redis面試題,你能答對嗎?

    幾道常問Redis面試題,你能答對嗎?

    在程序員面試過程中redis相關(guān)的知識是常被問到的話題。這篇文章主要介紹了13道Redis面試題,整理一下分享給大家,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Netty解決 TCP 粘包拆包的方法

    Netty解決 TCP 粘包拆包的方法

    處理粘包的唯一方法就是制定應用層的數(shù)據(jù)通訊協(xié)議,通過協(xié)議來規(guī)范現(xiàn)有接收的數(shù)據(jù)是否滿足消息數(shù)據(jù)的需要,本文給大家介紹Netty解決 TCP 粘包拆包的方法,需要的朋友一起看看吧
    2021-07-07
  • Java獲取配置文件的值過程解析

    Java獲取配置文件的值過程解析

    這篇文章主要介紹了java獲取配置文件的值過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Java分布式鎖由淺入深介紹

    Java分布式鎖由淺入深介紹

    這篇文章主要介紹了Java分布式鎖,數(shù)據(jù)庫實現(xiàn)分布式鎖方式比較多,如悲觀鎖(查詢時增加for?update)、樂觀鎖(通過version字段)、增加一個表記錄鎖信息等。因為依賴于數(shù)據(jù)庫,比較好理解,但是也存在一些問題
    2023-03-03
  • Java中@Pattern注解常用的校驗正則表達式學習筆記

    Java中@Pattern注解常用的校驗正則表達式學習筆記

    對于正則這個東西,對我來說一直是很懵逼的,每次用每次查,然后還是記不住,下面這篇文章主要給大家介紹了關(guān)于Java中@Pattern注解常用的校驗正則表達式學習筆記的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • java中如何判斷對象是否是垃圾

    java中如何判斷對象是否是垃圾

    這篇文章主要介紹了java中如何判斷對象是否是垃圾,Java有兩種算法判斷對象是否是垃圾:引用計數(shù)算法和可達性分析算法,需要的朋友可以參考下
    2023-04-04

最新評論