Spring Boot 常用注解大全
以下是Spring Boot中常用的注解及其詳細(xì)解釋以及相應(yīng)的代碼示例:
@SpringBootApplication
: 這個(gè)注解用于標(biāo)識(shí)一個(gè)Spring Boot應(yīng)用的主類。它整合了 @Configuration
,@EnableAutoConfiguration
和 @ComponentScan
。
@SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
@RestController
: 這個(gè)注解用于定義一個(gè)RESTful控制器,在Spring MVC中它表示所有的處理方法都返回一個(gè)Restful風(fēng)格的數(shù)據(jù)。
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, World!"; } }
@Service
: 這個(gè)注解用于標(biāo)識(shí)一個(gè)類是業(yè)務(wù)邏輯層的組件。
@Service public class UserService { // Service logic here }
@Repository
: 這個(gè)注解用于標(biāo)識(shí)一個(gè)類是數(shù)據(jù)訪問層的組件。
@Repository public class UserRepository { // Data access logic here }
@Component
: 這個(gè)注解用于標(biāo)識(shí)一個(gè)類是Spring的組件。
@Component public class MyComponent { // Component logic here }
@Autowired
: 這個(gè)注解用于自動(dòng)裝配Spring Bean。
@Service public class UserService { @Autowired private UserRepository userRepository; // Service logic here }
@Qualifier
: 當(dāng)多個(gè)實(shí)現(xiàn)類滿足一個(gè)接口時(shí),可以與 @Autowired
配合使用以指定具體要注入的Bean。
@Service public class UserService { @Autowired @Qualifier("userDatabaseRepository") private UserRepository userRepository; // Service logic here }
@RequestMapping
: 這個(gè)注解用于將HTTP請(qǐng)求映射到處理方法上。
@RestController @RequestMapping("/api") public class MyController { @GetMapping("/hello") public String hello() { return "Hello, World!"; } }
@GetMapping
, @PostMapping
, @PutMapping
, @DeleteMapping
: 這些注解用于將HTTP GET、POST、PUT、DELETE 請(qǐng)求映射到處理方法上。
@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
: 這個(gè)注解用于從請(qǐng)求中獲取參數(shù)的值。
@GetMapping("/user") public String getUserById(@RequestParam Long id) { // logic to fetch user by id }
@PathVariable
: 這個(gè)注解用于從請(qǐng)求的URL中獲取參數(shù)的值。
@GetMapping("/user/{id}") public String getUserById(@PathVariable Long id) { // logic to fetch user by id }
@ResponseBody
: 這個(gè)注解用于將方法返回的對(duì)象轉(zhuǎn)換為HTTP響應(yīng)的主體部分。
@GetMapping("/user") @ResponseBody public User getUser() { // logic to fetch user return user; }
@RequestBody
: 這個(gè)注解用于將HTTP請(qǐng)求的主體部分轉(zhuǎn)換為方法參數(shù)。
@PostMapping("/user") public String addUser(@RequestBody User user) { // logic to add user }
@ResponseStatus
: 這個(gè)注解用于指定方法返回的HTTP狀態(tài)碼。
@ResponseStatus(HttpStatus.NOT_FOUND) public class ResourceNotFoundException extends RuntimeException { // Exception handling logic here }
@ExceptionHandler
: 這個(gè)注解用于定義全局異常處理方法。
@ControllerAdvice public class GlobalExceptionHandler { @ExceptionHandler(Exception.class) public String handleException(Exception ex) { // Exception handling logic here return "error"; } }
@Configuration
: 這個(gè)注解用于定義配置類,通常與 @Bean
注解一起使用。
@Configuration public class AppConfig { @Bean public UserService userService() { return new UserService(); } }
@Value
: 這個(gè)注解用于從配置文件中獲取值。
@Component public class MyComponent { @Value("${my.property}") private String myProperty; // Component logic here }
以上是一些常見的Spring Boot注解及其用法示例。在實(shí)際開發(fā)中,可能還會(huì)使用到其他的注解,具體根據(jù)項(xiàng)目需求和設(shè)計(jì)選擇。
相關(guān)文章
Java?遠(yuǎn)程調(diào)用失敗重試的操作方法
這篇文章主要介紹了Java?遠(yuǎn)程調(diào)用失敗重試的操作方法,今天給大家介紹了一下?Spring??的?@Retryable?注解使用,并通過幾個(gè) demo 來帶大家編寫了自己重試攔截器以及回滾方法,需要的朋友可以參考下2022-09-09Javaweb基礎(chǔ)入門HTML之table與form
HTML的全稱為超文本標(biāo)記語言,是一種標(biāo)記語言。它包括一系列標(biāo)簽.通過這些標(biāo)簽可以將網(wǎng)絡(luò)上的文檔格式統(tǒng)一,使分散的Internet資源連接為一個(gè)邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動(dòng)畫、聲音、表格、鏈接等2022-03-03Java中@Pattern注解常用的校驗(yàn)正則表達(dá)式學(xué)習(xí)筆記
對(duì)于正則這個(gè)東西,對(duì)我來說一直是很懵逼的,每次用每次查,然后還是記不住,下面這篇文章主要給大家介紹了關(guān)于Java中@Pattern注解常用的校驗(yàn)正則表達(dá)式學(xué)習(xí)筆記的相關(guān)資料,需要的朋友可以參考下2022-07-07