懵懂的菜鸟

Stay hungry,Stay foolish.

导航

微服务常用注解解析

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中的占位符到目标方法的参数中。

posted on 2019-05-11 00:09  懵懂的菜鸟  阅读(1987)  评论(0编辑  收藏  举报