用法:用在属性、方法上。
含义:byType方式完成自动装配,把配置好的Bean拿来用,完成属性、方法的组装。当加上(required=false)时,就算找不到bean也不报错。
声明哪些bean是需要被Spring容器管理的。
通用注解,泛指组件,当组件不好归类的时候,我们可以使用这个注解进行。
用于数据持久层,经常标记到DAO类中。
用于服务层,经常标注到Service类上,需要注入DAO层。
MVC控制层Bean,常需要注入Service层。
@RestController注解,它继承自@Controller注解。4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。使用这个特性,我们可以开发REST服务的时候直接使用@RestController。
一般用来声明配置类。
声明Spring Bean的作用域。
包括singleton、prototype、request、session。
GET请求,从服务器获取特定资源。
POST请求,在服务器上创建一个新的资源。
PUT请求,更新服务器上的资源。
DELETE请求,从服务器删除特定的资源。
用在方法的参数前面,获取请求中表单类型的key=value格式的数据。
路径变量,参数与大括号里的名字一样要相同。
获取请求body中的数据,常用于搭配@PostMapping请求来提交对象数据。
表示该方法的返回结果直接写入HTTP response body中,格式为json。
直接读取各种配置源的属性名。
读取配置信息并与bean绑定。
指定加载自定义的配置文件。
这些注解的实现都是通过Hibernate Validator来实现的。
从Boot 2.3 开始,我们还需要显式地添加spring-boot-starter-validation依赖项。
这些注解都是加在Bean上面的。
用于标注验证对象的级联属性。
Spring提供的注解,于SpringMVC一起使用,标注方法参数需要检查。
注解定义全局异常处理类,包含@Component,所以可以被Spring扫描到。
注解声明异常处理方法,表示遇到这个异常,就执行标注的方法。
JPA全称是Java Persistence API,是一组用于将数据存入数据库的类和方法的集合。
声明数据库实体类。
设置表名。
声明一个字段为主键。
声明主键的生成策略。
持久化引擎通过关系数据库的一张特定的表格来生成主键。
随机序列。
主键自增长。
持久化引擎会根据数据库在以上三种主键生成策略中选择。
声明字段,经常用于属性名和表字段的映射。
指定不需要持久化的字段。
声明某个字段为大字段。
声明枚举类型的字段。
加在DAO方法上,提示是修改操作。
表示所有该类的public方法都配置相同的事务属性信息。
当类配置了@Transactional, 方法也配置了@Transactional, 方法的事务会覆盖类的事务配置信息。
作用在类上用于过滤掉特定字段不返回或者不解析。
一般用于属性上,作用和上面的@JsonIgnorePropties一样。
用来格式化json数据。
扁平化对象。
常作用于测试类上,用于声明生效的Spring配置文件。
声明一个方法为测试方法。
被声明的测试方法的数据会回滚,避免污染测试数据。
Spring Security 提供的,用来模拟一个真实用户,并且可以赋予权限。
等价于以默认属性使用@Configuration、@EnableAutoConfiguration、@ComponentScan
Spring Boot提倡基于Java的配置,相当于你之前在xml中配置bean。
类级别的注解,这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。
标注哪些路径下的类需要被Spring扫描。
配置了某个特定的Bean。
没有配置特定的Bean。
Classpath里有指定的类。
Classpath里没有指定的类。
给定的SpEL表达式计算结果为true。
Java的版本匹配特定值或者一个范围值。
参数中给定的JNDI位置必须存在一个,如果没有给参数,则要有JNDI InitialContext。
指定的配置属性要有一个明确的值。
Classpath里没有指定的资源。
这是一个Web应用程序。
这不是一个Web应用程序。
参考资料:一文掌握 Spring Boot 常用注解,保姆级整理,建议收藏!