常用注解列表
- @SpringBootApplication
当使用该注解时,包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。
其中@ComponentScan让Spring Boot扫描到Configuration类并把它加入到程序上下文,启动类中常见。 - @ComponentScan
组件扫描,可自动发现和装配一些Bean,启动类中常见。 - @Configuration
等同于Spring的XML配置文件;使用Java代码可以检查类型安全。 - @EnableAutoConfiguration
自动配置,启动类中常见。 - @RestController
该注解是@Controller和@ResponseBody的合集,表示这是个控制器Bean,并且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。 - @Autowired
自动导入依赖的bean。byType方式。把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错,开发中常用此种方式。 - @Resource
自动导入依赖的bean,@Resource(name=”name”,type=”type”):没有括号内内容的话,默认byName。与@Autowired干类似的事,当项目中定义多个相同bean名称的时候,会采用该种方式,指定加载某一个bean。 - @PathVariable
通常是get请求, 获取?后面传递的参数,指定参数名称,即可获取参数对应的值。 - @JsonBackReference
解决嵌套外链问题。 - @RepositoryRestResourcepublic
配合spring-boot-starter-data-rest使用。 - @Scope
Spring 的Controller 实例化默认是单例,是线程不安全的,并发时可能会导致变量值不准. @Scope(“prototype”)注解,让单例变成多例 - @ImportResource
用来加载xml配置文件,加载自定义参数配置信息。 - @Controller
放在控制器类的上面,表示创建控制器对象。 属于表示层对象。控制器对象能接受请求,把请求的处理结果显示给用户。 - @Service
一般用于修饰service层的组件,放在业务层接口的实现类上面, 表示创建业务层对象, 业务层对象有事务的功能。 - @Repository
使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项,放在dao接口的实现类上面,表示创建dao对象,持久层对象,能访问数据库。 - @Bean
用@Bean标注方法等价于XML中配置的bean。 - @Value
注入Spring boot application.properties配置的属性的值。 - @Inject
等价于默认的@Autowired,只是没有required属性; - @Component
泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。 - @Qualifier
当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用。@Qualifier限定描述符除了能根据名字进行注入,但能进行更细粒度的控制如何选择候选者,具体使用方式如下: