梳理 Spring Boot 注解(整合超详细版本)
小白带你学编程 昨天
使用注解的优势:
采用纯java代码,不在需要配置繁杂的xml文件
在配置中也可享受面向对象带来的好处
类型安全对重构可以提供良好的支持
减少复杂配置文件的同时亦能享受到springIoC容器提供的功能
params:指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
value:指定请求的实际地址,指定的地址可以是URI Template 模式
method:指定请求的method类型, GET、POST、PUT、DELETE等
consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html;
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回
String a =request.getParameter(“a”)。
@MappedSuperclass:
@MappedSuperclass 注解使用在父类上面,是用来标识父类的
@MappedSuperclass 标识的类表示其不能映射到数据库表,因为其不是一个完整的实体类,但是它所拥有的属性能够映射在其子类对用的数据库表中
@MappedSuperclass 标识的类不能再有@Entity或@Table注解
@Column:
name属性:name属性定义了被标注字段在数据库表中所对应字段的名称 unique属性:unique属性表示该字段是否为唯一标识,默认为false,如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table注解中的@UniqueConstraint nullable属性:nullable属性表示该字段是否可以为null值,默认为true insertable属性:insertable属性表示在使用”INSERT”语句插入数据时,是否需要插入该字段的值 updateable属性:updateable属性表示在使用”UPDATE”语句插入数据时,是否需要更新该字段的值 insertable和updateable属性:一般多用于只读的属性,例如主键和外键等,这些字段通常是自动生成的 columnDefinition属性:columnDefinition属性表示创建表时,该字段创建的SQL语句,一般用于通过Entity生成表定义时使用,如果数据库中表已经建好,该属性没有必要使用 table属性:table属性定义了包含当前字段的表名 length属性:length属性表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符 precision属性和scale属性:precision属性和scale属性一起表示精度,当字段类型为double时,precision表示数值的总长度,scale表示小数点所占的位数
double类型将在数据库中映射为double类型,precision和scale属性无效 double类型若在columnDefinition属性中指定数字类型为decimal并指定精度,则最终以columnDefinition为准 BigDecimal类型在数据库中映射为decimal类型,precision和scale属性有效 precision和scale属性只在BigDecimal类型中有效
@Data:注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法 @Setter:注解在属性上;为属性提供 setting 方法 @Getter:注解在属性上;为属性提供 getting 方法 @Log4j2 :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象,和@Log4j注解类似 @NoArgsConstructor:注解在类上;为类提供一个无参的构造方法 @AllArgsConstructor:注解在类上;为类提供一个全参的构造方法 @EqualsAndHashCode:默认情况下,会使用所有非瞬态(non-transient)和非静态(non-static)字段来生成equals和hascode方法,也可以指定具体使用哪些属性。 @toString:生成toString方法,默认情况下,会输出类名、所有属性,属性会按照顺序输出,以逗号分割。 @NoArgsConstructor, @RequiredArgsConstructor and @AllArgsConstructor无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,只能自己手写了 @NonNull:注解在属性上,如果注解了,就必须不能为Null @val:注解在属性上,如果注解了,就是设置为final类型,可查看源码的注释知道
1)数据库查询
2)数据库插入
3)数据库更新
4)数据库删除
- END -
赞 (0)