日常记录点(1)

读代码
Swagger
是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。
使用:https://www.cnblogs.com/hyl8218/p/8520994.html


@Configuration
标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)
https://www.cnblogs.com/duanxz/p/7493276.html
@Bean标注在方法上(返回某个实例的方法),等价于spring的xml配置文件中的<bean>,作用为:注册bean对象
    // @Bean注解注册bean,同时可以指定初始化和销毁方法
    // @Bean(name="testBean",initMethod="start",destroyMethod="cleanUp")

@EnableSwagger2
为了解决上面这样的问题,本文将介绍RESTful API的重磅好伙伴Swagger2,
它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档。
它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,
可以让我们在修改代码逻辑的同时方便的修改文档说明。另外Swagger2也提供了强大的页面测试功能来调试每个RESTful API。

https://www.jianshu.com/p/8033ef83a8ed

RequestMapping 
value(path)
指定请求的实际地址,指定的地址可以是 URI Template 模式

method

指定请求的 method 类型。
例如 GET、POST、PUT、DELETE 等

consumes

指定处理请求的提交内容类型(Content-Type),
例如application/json,text/html;

produces

指定返回的内容类型,
仅当 request 请求头中的(Accept)类型中包含该指定类型才返回

params

指定 request 中必须包含某些参数值,
才让该方法处理请求。

header

指定 request 中必须包含某些指定的 header 值,才能让该方法处理请求。

@Validated是
@Valid是javax.validation里的。
@Validated是@Valid 的一次封装,是Spring提供的校验机制使用。@Valid不提供分组功能

spring-boot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。
比如,我们判断一个输入参数是否合法,可以用如下方式
https://segmentfault.com/a/1190000011712893

dto

数据传输对象(DTO)(Data Transfer Object)
https://zhidao.baidu.com/question/135819256365307645.html

@NotNull:不能为null,但可以为empty
@NotEmpty:不能为null,而且长度必须大于0
@NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0

@RestTemplate

https://blog.csdn.net/itguangit/article/details/78825505
@LoadBalanced   这段自动装配的代码的含义不难理解,就是利用了RestTempllate的拦截器,
使用RestTemplateCustomizer对所有标注了@LoadBalanced的RestTemplate Bean添加了一个LoadBalancerInterceptor拦截器,
而这个拦截器的作用就是对请求的URI进行转换获取到具体应该请求哪个服务实例ServiceInstance。
实现:https://blog.csdn.net/xiao_jun_0820/article/details/78917215
Spring Cloud的commons模块提供了一个@LoadBalanced注解,
方便我们对RestTemplate添加一个LoadBalancerClient,以实现客户端负载均衡。
通过源码可以发现这是一个标记注解:

微服务之间可以用niginx反向代理,但是过多就不好,所以
Eureka

是Spring Cloud Netflix微服务套件中的一部分,可以与Springboot构建的微服务很容易的整合起来。
https://www.cnblogs.com/demodashi/p/8509931.html
eureka的配置:
https://blog.csdn.net/cvntopuyef/article/details/78477724

MyCat
是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器

@EnableTransactionManagement
spring boot事务:https://www.jianshu.com/p/cddeca2c9245
--------------------- 

猜你喜欢

转载自blog.csdn.net/iXinRu/article/details/85098024