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

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异常通知
}
自定义注解:
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE}) 注解的作用目标

(ElementType.TYPE)——接口、类、枚举、注解
(ElementType.FIELD)——字段、枚举的常量
(ElementType.METHOD)——方法
(ElementType.PARAMETER)——方法参数
(ElementType.CONSTRUCTOR) ——构造函数
(ElementType.LOCAL_VARIABLE)——局部变量
(ElementType.ANNOTATION_TYPE)——注解
(ElementType.PACKAGE)——包

@Retention(RetentionPolicy.RUNTIME)是注解的注解,称为元注解,表示注解保留多久

RetentionPolicy.SOURCE:注解只保留在源文件,当Java文件编译成class文件的时候,注解被遗弃;
RetentionPolicy.CLASS:注解被保留到class文件,但jvm加载class文件时候被遗弃,这是默认的生命周期;
RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;

@Inherited是一个标识,用来修饰注解(简单来说就是注解上有这个注解,子类也会有这个注解,user类有这个注解,student继承user,namestudent也有这个注解)
@Documented 表示是否在javadoc记录,默认没有,没啥大用

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

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值