SpringCloud常用注解
启动类上的注解
@EnableFeignClients
Feign: 客户端负载均衡
用户排队,找最少的排队
消费方从服务中心获知有哪些地址可用,然后自己再从这些地址中选择出一个合适的服务器。。
使用只需要创建一个接口和注解
Feign是一个声明式的web服务客户端。
只需要创建一个接口,然后在上面添加注解即可。
@FeignClient(value = "park-open")
public interface ParkInfoClient {
@EnableDiscoveryClient
在启动类上添加注解**@EnableDiscoveryClient**
要想将一个微服务注册到Nacos上
@EnableEncryptableProperties
配置文件的密码都是明文加密
@EnableScheduling
在配置类上使用,开启计划任务的支持(在类上注解)
@EnableSwagger2
Swagger注解
@API()
作用
:用来指定接口的描述文字
修饰范围
:作用在类上
@ApiOperation
(value=“分润日账单-分页列表查询”, notes=“分润日账单-分页列表查询”)
作用
:用来对接口中具体方法做描述
修饰范围
:作用在方法上
@ApiOperation(value = “接口总体描述”,notes = “详细描述: 方法详细描述信息”)
@ApiResponses
作用
:用于接口的响应结果
修改范围
:作用在接口方法上
@ApiResponse
作用
:在ApiResponses里面对响应码以及响应内容进行设置
修饰范围
:作用接口方法上
@ApiResponses({
@ApiResponse(code = 10001, message = "签名错误"),
@ApiResponse(code = 10002, message = "sql错误"),
@ApiResponse(code = 10003, message = "服务怠机,请稍后重试")
}
@ApiImplicitParams
作用
:用来对接口中参数进行说明
修饰范围
:作用在方法上
@ApiImplicitParam
作用
:修饰接口方法里面的参
修饰范围
:作用方法上
name
:方法参数名称value
:方法参数的描述dataType
:方法参数数据类型defaultValue
:方法参数默认值(给测试人员做测试用的)- paramType :
默认query
:对应方式一path
:对应方式二body
:对应方式三
@ApiOperation(value = "接口总体描述", notes = "<span style='color:red;'>详细描述:</span> 方法详细描述信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "username", value = "用户名", dataType = "String", defaultValue = "qlh"),
@ApiImplicitParam(name = "password", value = "密码", dataType = "String", defaultValue = "123")
})
@PostMapping("/")
public String login(String username, String password) {
return "Hello login ~";
}
实体类中的Swagger
@ApiModel
@ApiModel(value=“类名”,description = “实体类描述”)
@ApiModelProperty
@ApiModelProperty(value = “类属性描述”,required = true,example = “属性举例”,notes = “备注”)
数据库注解
@DS(“pkclouddb”)
切换数据源
@TableName
mybatis-plus中的注解,主要是实现实体类型和数据库中的表实现映射。
@TableName(“sys_user”)
// 该注解主要是现实实体类型和数据库中的表实现映射。
public class SysUser implements Serializable {
@TableId(type= IdType.AUTO)
private Long id;
private String username;
//用户名
private String loginName;
//登录密码,密码需要加密
private String password;
}
@Data
注解的主要作用是提高代码的简洁,使用这个注解可以省去代码中大量的get()、 set()、 toString()等方法;
@Alias
起别名之后,mapper.xml 文件 不能再使用 Teacher/teacher,但可以使用全类名 com.ye.test.pojo.Teacher
使用指定类初始化日志对象
全局异常注解
@ControllerAdvice
//全局异常捕捉处理
@ControllerAdvice
public class CustomExceptionHandler {
@ResponseBody
@ExceptionHandler(value = Exception.class)
@CrossOrigin //跨域
controller层