JavaEE开发中Lombok、Swagger、SpringBoot、SpringCloud常用注解

一、Lombok常用注解

官网:https://projectlombok.org/contributing/index

github地址:https://github.com/rzwitserloot/lombok

  Lombok项目是一个Java库,应用注解简化JavaBean的开发!

  常用注解如下:

注解描述
@Data类上注解,为类的所有属性都提供get()、set(),、equals()、canEquals、hashCode()、toString()
@Setter类上注解,为所有属性添加set();属性上注解,为该属性提供set()
@Getter类上注解,为所有属性添加get();属性上注解,为该属性提供get()
@NoArgsConstructor无参构造器
@RequiredArgsConstructor部分参数构造器
@AllArgsConstructor全参构造器
@EqualsAndHashCode重写equal和hashcode方法
@Log快速使用slf4j日志
@Log4j快速使用log4j日志
@Slf4j内置log对象,直接调用日志方法输出日志
@ToString提高toString方法
@NotNull使用参数,如果调用传值null类型,就会抛出空指针异常
二、Swagger常用注解

官网:https://swagger.io/

  Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化Restful风格和Web服务(swagger2生成实时接口文档,,直接进行服务接口调用测试)。

注解描述
@Api(tags="xxxx类专用于测试")用于请求类上,描述当前类
@ApiOperation(value="xxxxx")用于请求方法上,说明该方法的用途、作用
value=“说明方法的用途作用”
@ApiImplicitParams用于请求方法上,表示一组参数说明
@ApiImplicitParam:指定一个请求参数的参数说明
@ApiImplicitParamvalue:参数的中文说明、解释
required:参数是否必须传递
paramType:参数存放在哪个位置(header:请求头、query:请求参数、path:用于restful接口、body、form)
dataType:参数类型,默认String–"dataType=“Integer”
defaultValue:参数的默认值
@ApiResponses用在请求方法上,表示一组响应
@ApiRespnse
@ApiRespnse一般用于表达一个错误的响应信息
code:状态码、message:返回信息、response:抛出异常的类
@ApiModel用于响应类上,返回响应数据信息
入参实体:使用RequestBody场景,请求参数无法使用ApiImplicitParam注解进行扫描
ApiModelProperty:用在属性上,描述响应类的属性
三、SpringBoot常用注解

官方:https://spring.io/projects

  SpringBoot底层是Spring,简化Spring开发应用,约定大于配置,无需配置XML,无代码生成,开箱即用。快速创建独立运行的Spring项目以及主流框架集成!

注解描述
@SpringBootApplication主程序标注,@ComponentScan+@Configuration+@EnableAutoConfiguration
@MapperScan("com.xxxx.ssm.dao")主程序标注,专门扫描dao接口,作为dao的代理对象,注入给service层
@EnableTransactionManagement主程序启动声明式事务
@Transactional(readOnly=true)在service层进行注解,开启事务
@ServletComponentScan扫描@WebServlet @ WebFilter @ WebListener
@SpringBootConfigurationspringboot提供的,推荐使用,代替了@Configuration<spring提供>
@Controller在类上注解,表示一个控制层bean
@Service在类上注解,表示一个业务层bean
@Respository在类上注解,表示一个持久层bean
@Component泛指组件,一般公共的方法会用上这个注解。
@Autowired按类型注入bean,默认required=为true;
当不能确定 Spring 容器中一定拥有某个类的Bean 时, 可以在需要自动注入该类 Bean 的地方@Autowired(required = false);
与注解@Qualifier 结合使用时,策略由 byType 转变byName 。它是Spring的注解!
@Resource按名称注入bean,它是JavaEE的注解!
@RestController@RestController 结合了@ResponseBody 和 @Controller 的注解
@PathVariableRestful风格接收参数
@RequestParam(value="name",required=false)一般的数据请求风格,接收请求参数
@ComponentScan扫描Configuration类,并把它加入到上下文
@ConfigurationProperties(prefix = "spring.xxxxxx")将配置文件内参数映射成一个对象,通过prefix设定前缀,将后面的和对象的属性名一致就能实现注入
@Value与上的注解性质类同读取配置文件中参数值,value注解放在变量上,是单值读取,value标注变量并不需要和配置文件的参数名字一致。
@Bean标注在方法上,等价在XML配置bean,返回一个实体对象
@RequestMapping用来处理请求地址映射的注解,可用于类或方法上
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping用来处理请求地址映射的注解,组合注解 是@RequestMapping(method = RequestMethod.GET)的缩写
@RequestBody异步获取数据时使用,用于构建Restful的api,返回json数据
四、SpringCloud常用注解

SpringCloud工程:https://spring.io/projects

SpringCloud英文网:https://spring.io/projects/spring-cloud/#quick-start

SpringCloud中文网:https://www.springcloud.cc/

  SpringCloud是分布式系统的解决方案,底层用的SpringBoot构建项目,SpringCloud新增很多的starter。

  SpringCloud是一系列框架的有序集合,它简化了分布式系统基础设施开发,如服务发现注册(Eureka)、智能路由(Zuul)、消息总线、负载均衡(Ribbon)、熔断器(Hystrix)、远程调用(Feign)等,利用SpringBoot的开发风格做到一起启动与部署。

注解描述
@SpringBootApplication包含三个启动类
@Configuration:表示将该类作用SpringBoot配置文件类
@EnableAutoConfiguration:表示启动类时,自动创建SpringBoot的默认配置
@ComponentScan:表示程序启动,扫描当前包及其子包下所有类
@EnableDiscoveryClient@EnableAutoConfiguration:表示程序启动时,自动加载springboot默认的配置启动服务发现客户端,客户端和注册中心之间采用心跳机制通讯,不续约就会过期
@EnableFeignClients@ComponentScan:表示程序启动是,自动扫描当前包及子包下所有类启动Feign远程调用接口
@EnableCircuitBreaker启动熔断器保护功能
@EnableHystrixDashboard启动熔断器仪表盘 例如:http://127.0.0.1:10000/hystrix
@FeignClient(value="xxx-service",fallback=xxxFeignExceptionHandler.class)Feign进行远程调用,value表示服务名,fallback表示远程异常处理,这里会有一个兜底的数据
@GetMapping("/getMovieById/{id}")RestFul风格,处理请求地址映射
@PathVariable(“id”) Integer idRestFul风格,接收参数
@LoadBalanced实现负载均衡
@ResquestBody接收前端页面传递的多个参数

♚学习、实战、总结、分享,让生活变得更美好!
☞林大侠博客:https://coding0110lin.blog.csdn.net/  欢迎转载,一起技术交流探讨!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值