springboot项目中的一些注解

文章
发布于2020年7月14日
springboot项目中的一些注解
一、controller层的:
@responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据,需要注意的呢,在使用此注解之后不会再走试图处理器,而是直接将数据写入到输入流中,他的效果等同于通过response对象输出指定格式的数据。

@ResponseBody注解的使用

@RequestMapping("/login")   @ResponseBody   public User login(User user){     return user;   }   User字段:userName pwd

那么在前台接收到的数据为:’{“userName”:“xxx”,“pwd”:“xxx”}’
带responsebody的都是ajax请求
二、

@Id @Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。
@Id标注也可置于属性的getter方法之前

@RestController注解相当于@ResponseBody + @Controller合在一起的作用

@Controller 注解,在对应的方法上,视图解析器可以解析return 的jsp,html页面,并且跳转到相应页面

若返回json等内容到页面,则需要加@ResponseBody注解

@GeneratedValue:
@GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。
@GeneratedValue(generator = “UUID”) Oracle数据库的标志
三、自定义注解

异常内容 @IgnoreInMultipleResult
private String exception;

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface IgnoreInMultipleResult {
}

@Target 是Java的元注解,指修饰注解的注释之一,用来指定注解修饰类的哪个成员,加大括号表示一个数组,指被修饰的注解能用于多个不同的类成员。

@Target(ElementType。FIELD)

public @interface A{}
表示注解A只能用来修饰类中的Field

在实体类属性上面使用@jsonFormat注解,它只会在类似@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间。
@JsonFormat(pattern = “yyyy-MM-dd”, timezone = “GMT+8”)
时间格式化注解
@JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式
,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,
自定义排序注解
@OrderBy(“DESC”)private Date createTime;
封装
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface OrderBy {
String value() default “”;
}

RetentionPolicy.RUNTIME:注解不仅被保存到class文件中,jvm加载class文件之后,仍然存在;

表示你的注解有一个名为 value 的可选参数。不设置的话默认为“”。如果没有后面的 default “”,则表示这是一个必须的参数。不指定的话会报错。

使用注解: @Lazy
效果:一般情况下,Spring容器在启动时会创建所有的Bean对象,使用@Lazy注解可以将Bean对象的创建延迟到第一次使用Bean的时候
引入步骤 在类上加入@Lazy或者@@Lazy(value=true)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值