Spring?Boot?常用注解速查表(快速查找)
?? Spring Boot 常用注解速查表
?? 分類整理 + 應用說明,適用于日常開發(fā)參考。
?? 核心注解(IOC/AOP)
注解 | 作用 | 應用層 |
|---|---|---|
@Component | 標識一個通用組件,注冊到 Spring 容器 | 所有組件 |
@Service | 表示服務層組件(業(yè)務邏輯) | Service |
@Repository | 表示 DAO 層組件,帶異常轉換功能 | Repository |
@Controller | 表示控制器組件,返回視圖 | Web 控制層 |
@RestController | @Controller + @ResponseBody,返回 JSON | Web API |
@Autowired | 按類型注入 Bean | 所有層 |
@Resource | 默認按名稱注入 Bean | 所有層 |
@Value("${key}") | 注入配置文件中的屬性值 | 所有層 |
@PostConstruct | Bean 初始化后執(zhí)行方法 | 所有層 |
@PreDestroy | Bean 銷毀前執(zhí)行方法 | 所有層 |
?? Web 開發(fā)相關(Spring MVC)
注解 | 作用 |
|---|---|
@RequestMapping | 映射請求路徑(支持 GET/POST 等) |
@GetMapping / @PostMapping | 更具體的請求方法映射 |
@PathVariable | 獲取 URL 中的路徑變量 |
@RequestParam | 獲取請求參數(shù)(?key=value) |
@RequestBody | 接收 JSON 請求體并映射為對象 |
@ResponseBody | 將方法返回值轉為 JSON |
@ModelAttribute | 用于表單綁定參數(shù)到對象 |
@CrossOrigin | 支持跨域請求 |
@SessionAttributes | 設置需要存儲到 session 的屬性 |
?? 配置類 / 自動裝配相關
注解 | 作用 |
|---|---|
@SpringBootApplication | 啟動類核心注解(包含 3 個注解) |
@Configuration | 定義配置類(相當于 XML 配置) |
@Bean | 將方法返回對象注冊為 Bean |
@ComponentScan | 指定掃描組件的基礎包 |
@EnableAutoConfiguration | 啟用 Spring Boot 自動配置 |
@EnableConfigurationProperties | 開啟配置綁定支持 |
@ConfigurationProperties(prefix="...") | 將配置文件的屬性注入到 Java 類 |
??? 數(shù)據(jù)訪問(JPA)
注解 | 作用 |
|---|---|
@Entity | 定義實體類 |
@Table(name="...") | 指定數(shù)據(jù)庫表名 |
@Id | 定義主鍵 |
@GeneratedValue | 主鍵生成策略 |
@Column | 配置列名、約束等 |
@Repository | 標注數(shù)據(jù)訪問層類 |
?? 測試相關
注解 | 作用 |
|---|---|
@SpringBootTest | 啟動整個 Spring Boot 環(huán)境進行測試 |
@WebMvcTest | 測試 Controller 層(不啟動整個容器) |
@DataJpaTest | 測試 JPA 數(shù)據(jù)層 |
@MockBean | 向測試環(huán)境注入 mock 的 Bean |
?? 其他實用注解
注解 | 作用 |
|---|---|
@Primary | 標記為首選注入 Bean(多個 Bean 時) |
@ConditionalOnProperty | 根據(jù)配置文件條件啟用 Bean |
@Slf4j | 自動注入日志對象(需 lombok) |
?? 建議組合使用(常見套路)
// 啟動類
@SpringBootApplication
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
// Controller 示例
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/users/{id}")
public User getUser(@PathVariable Long id) {
return userService.getById(id);
}
}到此這篇關于java多線程的文章就介紹到這了,更多相關java多線程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Spring中的@EnableWebSecurity注解詳解
這篇文章主要介紹了Spring中的@EnableWebSecurity注解詳解,EnableWebSecurity注解是個組合注解,它的注解中,又使用了@EnableGlobalAuthentication注解,需要的朋友可以參考下2023-12-12
Java服務端服務監(jiān)控:Prometheus與Spring Boot Actuator的集成方式
本文介紹了如何將Prometheus與SpringBootActuator集成,實現(xiàn)對Java服務端應用的監(jiān)控,通過集成,可以利用Prometheus的強大監(jiān)控能力,及時發(fā)現(xiàn)和解決性能問題2024-12-12
Spring?Boot?中的?@DateTimeFormat?和?@JsonFormat?的用法及作用詳解
本文介紹了SpringBoot中的@DateTimeFormat和@JsonFormat注解的用法,解釋了它們在處理日期和時間數(shù)據(jù)時的作用,并通過實例代碼展示了如何在REST控制器中使用這些注解,感興趣的朋友跟隨小編一起看看吧2024-11-11
Java使用LinkedHashMap進行分數(shù)排序
這篇文章主要介紹了Java使用LinkedHashMap進行分數(shù)排序的相關代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05

