絕對要收藏!!! JavaEE開發常用註解

polaris_coder發表於2024-08-04

目錄
  • 前言
  • 1、Mybatis常用註解
  • 2、SpringMVC常用註解
  • 3、Spring常用註解
    • 1. IoC註解
    • 2. DI註解
    • 3. 事務註解
  • 4、SpringBoot常用註解
  • 5、Lombok註解

前言

OOP(物件導向程式設計),IoC(控制反轉),AOP(面向切面程式設計)都是一種程式設計思想,DI(依賴注入)是IoC的具體實現。

1、Mybatis常用註解

  1. @Select:查詢操作。
  2. @Insert:新增操作。
  3. @Update:修改操作。
  4. @Delete:刪除操作。
  5. @Mapper:生成Mapper介面的代理物件(實現類物件),放到ioc容器中。
  6. @MapperScan: 不用在每個Mapper介面上@Mapper,寫這個就行了,指定mapper介面的包名,為包下所有的Mapper介面生成對應的代理物件,放到ioc容器中。

2、SpringMVC常用註解

  1. @RequestMapping:放在方法上:指定介面的訪問路徑,根據id查詢/刪除通常要用。通常,放在類上:指定介面的模組名,通常是模組名加s,比如/users。
  2. @RequestParam:當接收key=value格式的資料,前端引數名和後端形參名匹配不上,用這個註解來給形參起別名,讓別名和前端引數名一樣。
  3. @RequestBody:接收post請求傳送的json字串,使用這個註解。
  4. @ResponseBody:返回一個字串,如果介面返回一個字串,就把這個字串原封不動返回,如果介面返回一個物件,該註解將物件轉成json字串,然後返回,該註解需要jackson依賴的支援。
  5. @PathVariable:用來接收路徑引數,比如,請求路徑是這樣的:/users/1,後端配置訪問路徑這樣配 /users/{id} ,這個id要和形參名一樣,不一樣,用這個註解給形參起別名,讓別名和id一樣。
  6. @GetMapping:get請求 查詢操作使用。
  7. @PostMapping:post請求 新增/新增操作使用。
  8. @PutMapping:put請求 修改/更新操作使用。
  9. @DeleteMapping:delete請求 刪除操作使用。
    上面四個是rest風格的四個註解,通常是這麼個約定,具體看公司怎麼要求了,絕大部分企業開發還是遵守這個約定。

3、Spring常用註解

1. IoC註解

  1. @Controller:放在controller上,建立controller物件,放到ioc容器中。
  2. @Service:放在service實現類上,建立service物件,放到ioc容器中。
  3. @Repository:放在mapper實現類上,建立mapper物件,放到ioc容器中。
  4. @Component:放在controller,service,mapper之外的類上,建立普通物件,放到ioc容器中。
  5. @Configuration+@Bean:@Configuration放在類上,表示該類是一個配置類,作用和xml配置檔案一樣,@Bean,放在方法上,表示將方法返回的物件放到ioc容器中。
  6. @RestController=@Controller+@ResponseBody,這樣不用在每個方法上加@ResponseBody了,後端通常返回的是一個json字串,比如:

2. DI註解

  1. @Value 注入基本型別,String字串。
  2. @Autowired:注入自定義物件,第三方物件。

3. 事務註解

@Transactional:通常放在service層方法上,表示對該方法新增事務,執行方法前,自動開啟事務,正常執行提交事務,出現異常回滾事務,注意:當方法丟擲執行時異常或錯誤,預設回滾事務;當方法丟擲編譯時異常,預設不回滾事務,此時可能導致事務失效,可以透過rollbackFor屬性,指定方法丟擲哪些異常也回滾事務嗎,當trycatch對異常進行捕獲了,相當於沒有丟擲異常,不會回滾事務!

4、SpringBoot常用註解

@SpringBootApplication:放在類上,表示這是springboot專案的啟動類/引導類,是springboot專案的入口。
@SpringBootTest:放在類上,表示這是一個單元測試類。

5、Lombok註解

  1. @NoArgsConstructor:生成無參構造器。
  2. @AllArgsConstructor:生成全參構造器。
  3. @Getter:生成get方法。
  4. @Setter:生成set方法。
  5. @ToString:生成toString方法。
  6. @EqualsAndHashCode:生成equals方法和hashCode方法。
  7. @Data:生成get、set、toString、equals、hashCode等方法 @Data=@Getter+@Setter+@toString+@Equals+@hashCode。

總結:用的時候,用@NoArgsConstructor+@AllArgsConstructor+@Data就夠了。

相關文章