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

