个人在开发中遇到注解(如果又缺少常用的还请留言告知谢谢各位)

   日期:2020-09-30     浏览:89    评论:0    
核心提示:类上注解@API 当前类说明@Slf4j 可以使用log方法@AllArgsConstructor 创建构造方法方法上注解@ApiOperation 方法说明@ApiImplicitParams 设置参数 里边是@ApiImplicitParam@ApiImplicitParams:用在请求的方法上,包含一组参数说明@ApiImplicitParam:对单个参数的说明 name:参数名value:参数的说明、描述required:参数是否必须必填paramType:参数放在哪

这里写目录标题

    • Controll层(@Controller)
    • service层(@Service)
    • dao层(@Mapper)
    • pojo层
    • 配置文件类(@Configuation)
    • 其他

Controll层(@Controller)

@RestController 代表@Controller+@ResponseBody

@RequestMapping 路径(@PostMapping、@GetMapping、@PutMapping、@DeleteMapping)

value 路径
method 请求方式
params 指定request中必须包含某些参数值时,才让该方法处理
headers 指定request中必须包含某些指定的header值,才能让该方法处理请求

@Autowired 自动注入 与@Resource同意

@Autowired默认按照类型注入,匹配属性类型,也可使用@Qualifier指定bean名称,使用bean名称装配。
@Autowired
@Qualifier(“user”)
private User usere;
@Resource
@Resource默认安照属性名注入,可使用name和type属性指定bean名称和类型
@Resource(name=“usere”)
private User usere;;

@Value("${xx.xx}") 获取软编码
@Api 类说明
@ApiOperation方法说明
@PathVariable 获取请求中的参数
@ApiParam 在 Rest 接口上或 Rest 接口参数前边使用,就是在@PathVariable

name String “” 参数名称,
value String “” 参数简单描述
defaultValue String “” 描述参数默认值
allowableValues String “” 可接收参数值限制,有三种方式,取值列表,取值范围
required boolean false 是否为必传参数, false:非必传; true:必传
access String “” 参数过滤,请参阅:io.swagger.core.filter.SwaggerSpecFilter
allowMultiple boolean false 指定参数是否可以通过多次出现来接收多个值
hidden boolean false 隐藏参数列表中的参数
example String “” 非请求体(body)类型的单个参数示例
examples Example @Example(value = @ExampleProperty(mediaType = “”, value = “”)) 参数示例,仅适用于请求体类型的请求
type String “” 添加覆盖检测到类型的功能
format String “” 添加提供自定义format格式的功能
allowEmptyValue boolean false 添加将格式设置为空的功能
readOnly boolean false 添加被指定为只读的能力
collectionFormat String “” 添加使用 array 类型覆盖 collectionFormat 的功能

@RequestParam 将请求参数绑定到你控制器的方法参数上

value:参数名字,即入参的请求参数名字,如username表示请求的参数区中的名字为username的参数的值将传入;
required:是否必须,默认是true,表示请求中一定要有相应的参数,否则将报404错误码;
defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式,如“#{systemProperties[‘java.vm.version’]}”。

@RequestBody 参数为json时转换pojo对象
@Log4j 使用log方法
@AllArgsConstructor 创建构造方法

在此类生成构造方法

@ApiImplicitParams 设置参数 里边是@ApiImplicitParam

@ApiImplicitParams:用在请求的方法上,包含一组参数说明
@ApiImplicitParam:对单个参数的说明
name:参数名
value:参数的说明、描述
required:参数是否必须必填
paramType:参数放在哪个地方
· query --> 请求参数的获取:@RequestParam
· header --> 请求参数的获取:@RequestHeader
· path(用于restful接口)–> 请求参数的获取:@PathVariable
· body(请求体)–> @RequestBody User user
· form(普通表单提交)
dataType:参数类型,默认String,其它值dataType=“Integer”
defaultValue:参数的默认值

@CrossOrigin 跨域请求

origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。

service层(@Service)

@Transactional 事务管理

readOnly
该属性用于设置当前事务是否为只读事务,设置为true表示只读,false则表示可读写,默认值为false。例如:@Transactional(readOnly=true)
rollbackFor
该属性用于设置需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,则进行事务回滚。例如:
指定单一异常类:@Transactional(rollbackFor=RuntimeException.class)
指定多个异常类:@Transactional(rollbackFor={RuntimeException.class, Exception.class})
rollbackForClassName
该属性用于设置需要进行回滚的异常类名称数组,当方法中抛出指定异常名称数组中的异常时,则进行事务回滚。例如:
指定单一异常类名称:@Transactional(rollbackForClassName=“RuntimeException”)
指定多个异常类名称:@Transactional(rollbackForClassName={“RuntimeException”,“Exception”})
noRollbackFor
该属性用于设置不需要进行回滚的异常类数组,当方法中抛出指定异常数组中的异常时,不进行事务回滚。例如:
指定单一异常类:@Transactional(noRollbackFor=RuntimeException.class)
指定多个异常类:@Transactional(noRollbackFor={RuntimeException.class, Exception.class})
noRollbackForClassName
该属性用于设置不需要进行回滚的异常类名称数组,当方法中抛出指定异常名称数组中的异常时,不进行事务回滚。例如:
指定单一异常类名称:@Transactional(noRollbackForClassName=“RuntimeException”)
指定多个异常类名称:
@Transactional(noRollbackForClassName={“RuntimeException”,“Exception”})
propagation
该属性用于设置事务的传播行为,具体取值可参考表6-7。
例如:@Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true)
isolation
该属性用于设置底层数据库的事务隔离级别,事务隔离级别用于处理多事务并发的情况,通常使用数据库的默认隔离级别即可,基本不需要进行设置
timeout
该属性用于设置事务的超时秒数,默认值为-1表示永不超时

dao层(@Mapper)

@Param 映射到xml里的名字

pojo层

@Data 创建get、set、tostring等方法
@ApiModelProperty 属性说明
@JSONField(format=“yyyy-MM-dd”) 时间属性上
@DatetimeFormat是将String转换成Date,一般前台给后台传值时用
@JsonFormat(pattern=“yyyy-MM-dd”) 将Date转换成String 一般后台传值给前台时
@JsonFormat会让时间以0区时间显示。如果直接使用会少了8小时修改为
@JsonFormat(pattern=“yyyy-MM-dd”,timezone=“GMT+8”)
@NotNull 不能为空

配置文件类(@Configuation)

@Bean 创建对象
@Component 将此类放到spring容器中
@Async 放在方法中代表此方法为异步 如果启用异步启动类一定加上异步开关直接加@EnableAsync

其他

启动类:
@SpringBootApplication 启动注解
@MapperScan 扫描dao层
@EnableAsync 开启异步处理
@EnableSwagger2 使用swagger2
@ServletComponentScan (Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、 @WebListener注解自动注册,无需其他代码)
其他:
@Log4j 用于打印日志信息
@Aspect 切面 {
@Pointcut 定义切点、
在通知的参数也可以定义切点
@Before 前置通知、
@AfterRetruning后置通知、
@Around环绕通知、
@AfterThrowing异常通知
}

==开发遇到还会更新,也期待有人提出哦!

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服