部分注解不定时更新

Spring部分

1.声明bean的注解

@Component 组件,没有明确的角色

@Service 在业务逻辑层使用(service层)

@Repository 在数据访问层使用(dao层)

@Controller 在展现层使用,控制器的声明(C)

2.注入bean的注解

@Autowired:由Spring提供

@Resource:由JSR-250提供

@AutoWried按by type自动注入,而@Resource默认按byName自动注入。

3.切面(AOP)相关注解

Spring支持AspectJ的注解式切面编程。

@Aspect 声明一个切面(类上) 
@After 在方法执行之后执行(方法上) 
@Before 在方法执行之前执行(方法上) 
@Around 在方法执行之前与之后执行(方法上)

@Scope 设置Spring容器如何新建Bean实例(方法上,得有@Bean) 
@annotation()  声明以注解的方式来定义切点   参考例子https://www.cnblogs.com/unknows/p/10315708.html



其设置类型包括:
Singleton (单例,一个Spring容器中只有一个bean实例,默认模式), 
Request (web项目中,给每个http request新建一个bean), 
Session (web项目中,给每个http session新建一个bean), 
Configuration https://blog.csdn.net/u014199143/article/details/80692685

4 SpringMVC部分

@Controller 声明该类为SpringMVC中的Controller

@RequestMapping 用于映射Web请求,包括访问路径和参数(类或方法上)

@ResponseBody 支持将返回值放在response内,而不是一个页面,通常用户返回json数据(返回值旁或方法上)

@RequestBody 允许request的参数在request体中,而不是在直接连接在地址后面。(放在参数前)

@RequestMapping(“/hello/{name}”)申明的路径,将注解放在参数中前,即可获取该值,通常作为Restful的接口实现方法。
@PathVariable可选择参数

@RestController 该注解为一个组合注解,相当于@Controller和@ResponseBody的组合,注解在类上,意味着,该Controller的所有方法都默认加上了@ResponseBody。
@RequestParam 将请求参数绑定到你控制器的方法参数上

5 lombok

@Setter 用于为描述的类生成setter方法,不包含final修饰属性。
@Getter 用于为描述的类生成getter方法。
@ToString 用于为描述的类添加toString方法。
@EqualsAndHashCode 用于为描述的类,生成hashCode和equals方法。
@NoArgsConstructor 用于为描述的类生成无参的构造方法。
@AllArgsConstructor 用于为描述的类生成包含类中所有字段的构造方法。
@Data用于为描述的类生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
@Slf4J 用于为描述的类添加一个日志属性对象、
###异常处理
@ExceptionHandler(ArithmeticException.class)描述的方法为异常处理方法(注解中的异常类型为可处理的异常类型)
@RestControllerAdvice 注解描述的类为全局异常处理类,

6 自动扫描

@Configuration  告诉spring框架  这是配置类,自动扫描

7 swagger里的注解

 参考网站https://www.jianshu.com/p/12f4394462d5
 ApiOperation是swagger里的注解,是用来构建Api文档的,用在方法上,说明方法的作用
  @ApiOperation(value = “接口说明”, httpMethod = “接口请求方式”, response =
 “接口返回参数类型”, notes = “接口发布说明”)
 @Api用在类上,说明该类的作用
 ApiParam请求属性 
 ApiResponse:响应配置
 ApiResponses:响应集配置
 ResponseHeader:相应头的设置
 @ApiModel
使用场景:在实体类上边使用,标记类时swagger的解析类。
概述:提供有关swagger模型的其它信息,类将在操作中用作类型时自动内省。
@ApiModelProperty
使用场景:使用在被 @ApiModel 注解的模型类的属性上。表示对model属性的说明或者数据操作更改 。
概述:添加和操作模型属性的数据。参考网站https://www.cnblogs.com/anycc/p/12910853.html

8 注释

//注释的标志
@Documented
//注解使用范围
@Target({ElementType.METHOD})
//用来修饰注解,是注解的注解,称为元注解
@Retention(RetentionPolicy.RUNTIME)

9 Spring

@Null  被注释的元素必须为null
@NotNull  被注释的元素不能为null
@AssertTrue  被注释的元素必须为true
@AssertFalse  被注释的元素必须为false
@Min(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value)  被注释的元素必须是一个数字, 其值必须小于等于指定的最大值
@DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Size(max,min)  被注释的元素的大小必须在指定的范围内。
@Digits(integer,fraction)  被注释的元素必须是一个数字,其值必须在可接受的范围内
@Past  被注释的元素必须是一个过去的日期
@Future  被注释的元素必须是一个将来的日期
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Email 被注释的元素必须是电子邮件地址
@Length 被注释的字符串的大小必须在指定的范围内
@NotEmpty  被注释的字符串必须非空
@Range  被注释的元素必须在合适的范围内

10 和数据库相关的注解

@Column

name定义了被标注字段在数据库表中所对应字段的名称;

unique表示该字段是否为唯一标识,默认为false。如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@UniqueConstraint。

nullable表示该字段是否可以为null值,默认为true。

insertable表示在使用“INSERT”脚本插入数据时,是否需要插入该字段的值。

updatable表示在使用“UPDATE”脚本插入数据时,是否需要更新该字段的值。insertable和updatable属性一般多用于只读的属性,例如主键和外键等。这些字段的值通常是自动生成的。

columnDefinition(大多数情况,几乎不用)表示创建表时,该字段创建的SQL语句,一般用于通过Entity生成表定义时使用。(也就是说,如果DB中表已经建好,该属性没有必要使用。)

table表示当映射多个表时,指定表的表中的字段。默认值为主表的表名。

length表示字段的长度,当字段的类型为varchar时,该属性才有效,默认为255个字符。

precision和scale
precision属性和scale属性表示精度,当字段类型为double时,precision表示数值的总长度,scale表示小数点所占的位数。



真理求知者
4 声望0 粉丝

在黑暗在探索光明,在迷茫中寻找真理!