注解(spring cloud随笔记录)

@RequestParam  将客户端请求中的参数值映射到相应方法的参数上;

    RequestParam中的required是指这个参数是否客户端必须提供,defaultValue则是如果没有提供该参数默认值是什么;

@RestController  返回json字符串的数据,直接可以编写RESTFul的接口;

@CrossOrigin   可以处理跨域请求,让你能访问不是一个域的文件;

 

@ApiOperation  

  • 首先@ApiOperation注解不是Spring自带的,它是是swagger里的
  • 注解@ApiOperation是用来构建Api文档的
  • @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response = “接口返回参数类型”, notes = “接口发布说明”;
    使用参考链接:https://www.jianshu.com/p/8033ef83a8ed

@NotNull   被注释的元素不能为null:

    @NotNull
    private String name;
    @NotNull
    private Integer age;

 


 

@SpringBootApplication  申明让spring boot自动给程序进行必要的配置,等价于以默认属性使用@Configuration,@EnableAutoConfiguration和@ComponentScan;

@RefreshScope    如果代码中需要动态刷新配置,在需要的类上加上该注解就行。但某些复杂的注入场景下,这个注解使用不当,配置可能仍然不动态刷新;

@FeignClient    springboot调用外部接口:

声明接口之后,在代码中通过@Resource注入之后即可使用。@FeignClient标签的常用属性如下:

  • name:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现
  • url: url一般用于调试,可以手动指定@FeignClient调用的地址
  • decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException
  • configuration: Feign配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract
  • fallback: 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现@FeignClient标记的接口
  • fallbackFactory: 工厂类,用于生成fallback类示例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码
  • path: 定义当前FeignClient的统一前缀

 

@controller     控制器(注入服务)

@service     服务(注入dao)

@component     定义spring管理Bean(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

@Autowired     可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法

在使用@Autowired之前,我们对一个bean配置起属性时,是这用用的

<property name="属性名" value=" 属性值"/>    

通过这种方式来,配置比较繁琐,而且代码比较多。在Spring 2.5 引入了 @Autowired 注释

注意事项:

  在使用@Autowired时,首先在容器中查询对应类型的bean

    如果查询结果刚好为一个,就将该bean装配给@Autowired指定的数据

    如果查询的结果不止一个,那么@Autowired会根据名称来查找。

    如果查询的结果为空,那么会抛出异常。解决方法时,使用required=false

 

  @Override      在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
  @RefreshScope    如果代码中需要动态刷新配置,在需要的类上加上该注解就行,使用参考链接:https://www.cnblogs.com/yjmyzz/p/8085530.html;
 

常用的 lombok 注解

@EqualsAndHashCode    实现equals()方法和hashCode()方法 @ToString:实现toString()方法 
@Data            注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 
@Setter          注解在属性上;为属性提供 setting 方法 
@Getter          注解在属性上;为属性提供 getting 方法 
@Log4j           注解在类上;为类提供一个 属性名为log 的 log4j 日志对象 
@NoArgsConstructor    注解在类上;为类提供一个无参的构造方法 
@AllArgsConstructor    注解在类上;为类提供一个全参的构造方法 
@Cleanup        关闭流 @Synchronized:对象同步 @SneakyThrows:抛出异常

使用参考链接:https://blog.csdn.net/mccand1234/article/details/53456411;

 

@ConfigurationProperties    把同类的配置信息自动封装成实体类:可以使属性文件中的值和类中的属性对应起来;

使用方式有两种 :

  1、在类上使用该注解 

  2、在工厂方法上使用该注解 (@bean)

注意:在springBoot中除了使用这个注解读取属性文件值外,还可以用@Value注解。

@Value(“${redis.config}”) 

@component  把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>

      泛指各种组件,就是说当我们的类不属于各种归类的时候(不属于@Controller、@Services等的时候),我们就可以使用@Component来标注这个类

 

lombok:

@Accessors   注解用来配置lombok如何产生和显示getters和setters的方法。 

默认情况下,lombok按照豆豆说明书产生getters和setters:例如一个名为pepper(弗兰特产辣椒,lombok的logo是一只小辣椒)属性的getter方法是getPepper。然而一些人可能为了一个更好看的API,想去打破豆豆说明书。@Acessors就是让我们做这个的.

@Accessors 因此有3个选择:
1. fluent 一个布尔值。如果为真,pepper的getter就是 pepper(),setter方法就是pepper(T newValue)。并且,除非特别说明,chain默认为真。
2. chain 一个布尔值。如果为真,产生的setter返回的this而不是void。默认是假。如果fluent=true,那么chain默认为真

3. prefix 一系列string类型。如果显示,属性必须加上某些定义的前缀。每个属性名反过来与列表中的每个前缀进行比较,一个找到一个匹配,这个前缀被提取出来为属性创建基本的名字。前缀列表中不包含任何前缀也是合法的,为空则总是匹配。字符都是字母,紧接着前缀后的字符一定不能是小写字母。例如,pepper对前缀p不是相等匹配,而跟pEpper是匹配的(也就意味着属性的基本名字是epper)

                 
posted @ 2018-10-10 18:02  Arno92  阅读(375)  评论(0编辑  收藏  举报