微服務常用注解解析


Server包:

Application啟動類:

CommandLinerRunner:此接口用於實現springboot啟動時,加載默認配置,比如數據庫初始化。

啟動類的注解:

       @SpringBootApplication

       @EnableDiscoveryClient

       @EnableFeignClients(basePackages = “com.cl”)

      @MapperScan(basePackages = {com.cl.ai.**.mapper})

 

Rest層(class):

Rest注解:通常extends BaseRest

       @RestController

       @RequestMapping(value = “/make”)

       @GetMapping(value = “/enum”)

       @PostMapping(value = “/Save”)

       @Autowired和@Resource

      

       @ApiOperation

       @Slf4j

               入參注解:

              @RequestBody @Valid @Validated

 

              Form注解:

              @ToString

              @Getter

              @Setter

              @Min(value = 0 , message = “isFinish不能小於0”)

              @max

              @JsonFormat(pattern = “yyyy-MM-dd”, timezone =”GMT+8”)

              @NotNull(message = ”001|頁碼不能為空”)

 

       常用類型:

              Page和Page<>:Mybatis中用於分頁查詢

              Result和Result<>:自定義封裝類

 

Ps:<> 這叫范型,或者泛型!主要用去規定你這個集合中出現的數據類型!例子:一個彎可以裝很多種食物,加上范型,比如是面,那么這個碗只能是裝上面這類的食物的!

 

Service層:

       接口類(interface):

             

       Impl層(class):

              @Service和@Service(“接口的名稱”),Spring中默認是已經注冊好的。

              @Override

       @TranSactional(rollbackFor = Exception.class)事務回滾

       @Async(“getTask”)和@EnableAsync:異步調用,啟用多線程。在Spring中,@EnableAsync可以使用多線程,@Async可以定義一個線程任務。

       @Value(“${}”)和@Value(“#{}”)獲取配置文件

 

       HSSFWorkBook:工作簿的高級表現形式,用來讀取excel.

       MongoTemplate:java的mongo操作類。

 

Ps: @Repository、@Service、@Controller 和 @Component

 

Component層:

       Mapper(interfeac):extends BaseDAO

              @Mapper,要在啟動類中添加@MapperScan(),mybatis3.4以后出現

              @repository:注解接口,起到聲明作用

             

              @Select和@Param,@Results,@Result

              @Insert

              @Update

Ps:@repository @Service @Compent@Controller,沒有本質區別,都是聲明作用,取不同的名字是為了區分。

       Model(class):

              @TableName(“”)

              @Setter

              @Getter

              @TableId 表主鍵標識

              @TableLogic 表字段邏輯處理注解,邏輯刪除

Global層:

       Cofig(class):

              @Configuration用於定於配置類。

              @ApolloConfig用來自動注入Config

              @ApolloConfigChangeListener用來自動注冊ConfigChangeListener

 

       Constants(enum):

       Util(class):

Api包:

       Dto層:

              Bo(class):

              @data:為類提供@Geeter/@Setter,同時還提供equals(),hashCode(),toString()

              @NoArgsConstructor:lomback生成構造方法的注解,此注解生成一個無參構造方法。

              @JsonNaming(SnakeCaseStrategy.class)指定Json字段名映射策略為蛇形大小寫策略。

 

       Constants(class):

              @JsonFormat(shape=JsonFormat.Shape.OBJECT)java將枚舉序列化為對象

       Form(class):

              @ApiModel

              @ApiModelProperty聲明api

       Feign層(interface):

              @FeignClient(name=”spring-boot-user”,url=””):spring-boot-user是eureka服務里面user項目的名稱,加入此注解,能直接連接user項目接口。

              @GetMapping(value=””)

              @PostMapping(value=””)

              @PathVariable(“id”)用來映射url中的占位符到目標方法的參數中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM