【JAVA】项目常用注解

实体-model注解

lombok注解

@Data
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法
@NoArgsConstructor
生产一个无参的构造方法
@Accessors(chain = true)
开启链式编程,可以通过对象连续的调用set()方法

@ToString(callSuper = true)
重写ToString方法

@EqualsAndHashCode(callSuper = true)
参考链接:https://blog.csdn.net/qq_42888567/article/details/105145024
在类是继承父类的情况下:EqualsAndHashCode实则就是在比较两个对象的属性;
当@EqualsAndHashCode(callSuper = false)时不会比较其继承的父类的属性可能会导致错误判断;
当@EqualsAndHashCode(callSuper = true)时会比较其继承的父类的属性;

@TableName(value = “数据库表名称”)
用来标识实体类名称和数据表的对应关系

------------属性上添加的注解------------------------------------------------------
@ApiModelProperty
@ApiModelProperty()用于方法,字段; 表示对model属性的说明或者数据操作更改
value–字段说明
name–重写属性名字
dataType–重写属性类型
required–是否必填
example–举例说明
hidden–隐藏

@Column注解
用来标识实体类中属性与数据表中字段的对应关系

示例:

实体-model-时间格式转换注解
@JsonFormat注解和@DateTimeFormat
注解@JsonFormat主要是后台到前台的时间格式的转换
@JsonFormat(pattern=“yyyy-MM-dd”,timezone = “GMT+8”)
pattern:是你需要转换的时间日期的格式
timezone:是时间设置为东八区,避免时间在转换中有误差
提示:@JsonFormat注解可以在属性的上方,同样可以在属性对应的get方法上,两种方式没有区别
注解@DataFormAT主要是前后到后台的时间格式的转换
示例:

JAVA注解

@Resource

@Resource注解与@Autowired类型,也是用来依赖注入的,@Resource是java层面提供的注解,@Autowired是Spring所提供的注解,它们依赖注入的底层实现逻辑不同。
@Resource注解的name属性
针对@Resource注解中name属性是否有值,@Resource的依赖注入底层流程也不同
@Resource注解中name属性有值
Spring会直接根据所指定的name值去Spring容器找Bean对象,找到则成功,没有找到则报错。
@Resource注解中name属性没有值
1、先判断该属性名字在Spring容器中是否存在Bean对象
2、存在,成功找到Bean对象进行注入
3、不存在,根据属性类型去Spring容器找Bean对象,找到一个则进行注入

@Value注解

@Value注解也是对属性进行依赖注入的,是用来从Properties文件中获取值的,也可以解析SpEL(Spring表达式)
@Value注解的三种用法
@Value(“liu”):直接将字符串“liu”赋值给属性,如果属性不是String类型,无法进行类型转换,则报错
@Value(" l i u " ) : 会 把 {liu}"):会把 liu"){}中的字符串当做key去配置文件中找出对应的value 复制给属性,如果没有找到会把“${liu}”当做普通字符串注入给属性
@Value("#{liu}"):会将#{}中的字符串当做Spring表达式进行解析,Spring会把“liu”当做beanName,并从Spring容器中找到对象Bean,如果找到则进行属性注入,没找到则报错

@Override

表示重写方法
目的:
1、方便阅读;
2、添加上@Override注解编译器会检查是否正确并给出提示,
如果父类的方法是私有的,加上此注解会提示:方法不会覆盖或实现超类型的方法
如果不添加此注解,编译器无法检查出是否存在问题,子类的方法是一个全新的方法,而不是重写的父类的方法,也不会覆盖父类的方法

Spring注解

跨域注解@CrossOrigin

1、springMVC4.2以上版本才支持@CrossOrigin注解
将此注解添加到Controller上,可以为整个controller启用@CrossOrigin
其中@CrossOrigin中的2个参数:
origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)

@RestController

用于标注控制层组件
Spring4之后新加入的注解
是@ResponseBody和@Controller的组合注解,可以看到@RestController上有这两个注解7

@Service

用于标注业务层组件

@Component

泛指组件

@Repository

用于标注数据访问组,DAO组件

@Transactional

事务管理

@AutoWired注解

表示某个属性是否需要进行依赖注入,可以卸载属性和方法上。注解中的required默认为true,表示如果没有对象可以注入给属性则抛出异常

@Autowired加在对象的属性上

如果一个对象的属性加了@Autowired注解,Spring进行Bean的声明周期过程中的属性填充这一步骤,
会基于实例化出来的对象对该对象中加了@Autowired的属性自动赋值

@Autowired加在方法上

Spring在Bean生命周期的属性填充阶段,会根据方法的参数类型、参数名字从Spring容器找到对象当做方法入参,自动反射调用该方法

@Autowired加在构造方法上

@Autowired加在构造方法上,Spring会在推断构造方法阶段,选择该构造方法来进行实例化,在反射调用构造方法之前,会先根据构造方法参数类型、 参数名从Spring容器中找到Bean对象,当做构造方法入参

@RequestMapping

SpringMVC以前的版本使用@RequestMapping
使用RequestMapping实现get请求类型的方法

最新的Spring中使用以下注解
@GetMapping(value = {"/get/{id}"})
处理GET类型请求的方法
@PostMapping(value = {"/create"})
处理POST类型请求的方法

@DeleteMapping(value = {"/delete/{id}"})
处理DELETE类型请求的方法
@PutMapping(value = {"/deleteByIds"})
处理PPUT类型请求的方法

swagger注解

@Api

用于类,表示当前类是swagger的资源

@ApiOperation

value:方法描述; notes:用于提示内容;
用于方法,表示一个http请求的操作

@ApiParam(value = “主键id”, required = true)

name:参数名; value:参数说明; required:是否必填
用于方法,参数,字段说明,标识对参数添加元数据,说明是否必填等

@ApiModel()

用于类,表示对类进行说明,用于参数用实体类接收

@ApiModelProperty()

value:字段说明;name:重写属性名字;dataType:重写属性类型;required:是否必填;example:举例说明;hidden:隐藏;
用于方法,字段,标识对model属性的说明或数据操作

@ApiImplicitParam(name = “ids”, value = “ids”, dataType = “List”, required = true)

用于方法,表示单独的请求参数

@ApiImplicitParams()

用于方法,包含多个@ApiImplicitParam

@PathVariable String id

获取url中的数据(获取url中id的值)

@RequestParam(required = false)

获取请求参数的值

@RequestBody

接收请求体中的数据

@ApiIgnore()

用于类、方法、方法参数,表示这个类或方法被忽略

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值