一、常用的Spring Boot 註解
Spring Boot 是一個快速創建 Spring 應用程序的框架,其基於 Spring 框架,可以輕鬆快捷地搭建生產級別的應用程序。在 Spring Boot 的開發過程中,使用註解可以大大簡化開發工作,以下是常用的 Spring Boot 註解:
- @SpringBootApplication:標識 Spring Boot 應用的主類,兼有 @Configuration、@EnableAutoConfiguration、@ComponentScan 註解的功能。
- @RestController:使一個類成為 REST 風格的 Spring MVC 控制器,等價於添加 @Controller 和 @ResponseBody 註解。
- @RequestMapping:用於映射 HTTP 請求到控制器的處理方法上,可以用來設置 URL、請求參數、請求方法、請求頭等屬性。
- @PathVariable:用於將 URI 模板變數映射到控制器處理方法的參數上。
- @RequestParam:用於將請求參數映射到控制器處理方法的參數上。
- @Autowired:用於自動注入 Spring Bean。
- @Qualifier:在自動注入 Bean 的基礎上,按照 Bean 名稱或 qualifying annotation 進行限定。
- @ConfigurationProperties:用於將配置文件中的屬性映射到 Bean 的屬性上。
- @Bean:用於在 Spring 容器中註冊 Bean。
- @Component:通用的 Spring 組件註解。
二、常用註解的使用示例
1、@RestController 和 @RequestMapping
以下示例展示了如何使用 @RestController 和 @RequestMapping 實現一個簡單的控制器,輸出 “Hello, World!”:
@RestController
public class GreetingController {
@RequestMapping("/hello")
public String hello() {
return "Hello, World!";
}
}
2、@PathVariable 和 @RequestParam
以下示例展示了如何使用 @PathVariable 和 @RequestParam 處理 URL 上的參數,並輸出結果:
@RestController
public class UserController {
@RequestMapping("/users/{id}")
public String getUserInfo(@PathVariable Long id, @RequestParam String name) {
return "User #" + id + " name is " + name;
}
}
3、@Autowired 和 @Qualifier
以下示例展示了如何使用 @Autowired 和 @Qualifier 自動注入 Spring Bean,並通過限定名稱輸出 Bean 的屬性值:
@Component
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@Service
public class UserService {
@Autowired
@Qualifier("user") // 限定名稱為 "user" 的 Bean
private User user;
public String sayHello() {
return "Hello, " + user.getName() + "!";
}
}
@Configuration
public class AppConfig {
@Bean
public User user() {
User user = new User();
user.setName("Tom");
return user;
}
}
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/hello")
public String hello() {
return userService.sayHello();
}
}
4、@ConfigurationProperties 和 @Value
以下示例展示了如何使用 @ConfigurationProperties 將配置文件中的屬性映射到 Bean 的屬性上,並使用 @Value 註解輸出配置文件的屬性值:
@Configuration
@ConfigurationProperties(prefix = "my.config")
public class MyConfig {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@RestController
public class MyController {
@Autowired
private MyConfig myConfig;
@Value("${my.config.desc}")
private String desc;
@RequestMapping("/hello")
public String hello() {
return "Hello, " + myConfig.getName() + "! " + desc;
}
}
三、小結
Spring Boot 通過註解的方式,極大地簡化了常規的配置工作,從而提高了開發效率。本文介紹了常用的 Spring Boot 註解,並且給出了相關的代碼示例,以幫助讀者更好地理解和使用 Spring Boot。
原創文章,作者:GCWXC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/370019.html
微信掃一掃
支付寶掃一掃