
SpringBoot常用注解及其应用
SpringBoot常用注解及其应用
常用SpingBoot注解列表如下:
| @Configuration | 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。 | 该注解的配置类有如下要求:1、不能是匿名类;2、不能是final类型;3、必须是静态类。 |
| @SpringBootApplication | @SpringBootApplication是一个复合注解,包括@ComponentScan(自动扫描包)、@SpringBootConfiguration(标志当前类的配置类)、@EnableAutoConfiguration(打开 Spring Boot 的自动配置机制)。 | 如果该包或者上级包使用了@SpringBootApplication(@SpringBootApplication包含了@ComponentScan、@Configuration、@EnableAutoConfiguration注解)则无需手动添加@ComponentScan、@Configuration、@EnableAutoConfiguration注解,否则手动添加需要的注解。 |
| @ComponentScan | ComponentScan做的事情就是告诉Spring从哪里找到bean、自动扫描发现可配置使用的bean。 | 如果该包或者上级包使用了@SpringBootApplication(@SpringBootApplication包含了@ComponentScan、@Configuration、@EnableAutoConfiguration注解)则无需手动添加@ComponentScan注解,否则手动添加@ComponentScan注解并指定那个bean所在的包。 |
| @SpringBootConfiguration | 标志当前类的配置类,该类继承自@Configuration且作用一致,都是用于标志当前类中的配置类;并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到spring容器中,并且实例名就是方法名。 | 如果该包或者上级包使用了@SpringBootApplication(@SpringBootApplication包含了@ComponentScan、@Configuration、@EnableAutoConfiguration注解)则无需手动添加@EnableAutoConfiguration注解,否则手动添加@SpringBootConfiguration注解 |
| @EnableAutoConfiguration | 打开 SpringBoot 的自动配置机制,载入应用程序所需的所有Bean | 如果该包或者上级包使用了@SpringBootApplication(@SpringBootApplication包含了@ComponentScan、@Configuration、@EnableAutoConfiguration注解)则无需手动添加@EnableAutoConfiguration注解,否则手动添加@EnableAutoConfiguration注解。 |
| @Autowired | @Autowired注释进行自动注入时,spring容器中匹配的候选Bean数目必须有且仅有一个。当找不到一个匹配的Bean时,spring容器将抛出BeanCreationException异常,并指出必须至少拥有一个匹配的Bean。 | @Autowired可作用于构造器、方法、参数、属性;作用地方不同,范围不同。 |
| @RestController | @RestController是自Spring4来新的注解,它将类标记为控制器,其中每个方法都返回一个域对象而不是视图。它是@controller和@responseBody的缩写。 | 如果添加在类上则不能再添加 @Controller或者@responseBody注解,否则会报错。 |
| @Controller | @Controller的作用是把用户提交来的请求通过对URL的匹配,分配个不同的接收器,再进行处理,然后向用户返回结果。他的重点就在于如何从HTTP请求中获得信,提取参数,并分发给不同的处理服务。 | 一般配合@RequestMapping使用,如果类上添加了@RestController则方法上不能再添加 @Controller或者@responseBody注解,否则会报错。 |
| @RequestMapping | 通过该注解映射到Controller层的指定URL | @RequestMapping分为类级别和方法级别的 |
| @ResponseBody | @responseBody一般是作用在方法上的,加上该注解表示该方法的返回结果直接写到Http response Body中,常用在ajax异步请求(转json或者xml)中。 | 注解之后将不会通过ViewResolver直接返回的是数据 |
| @RequestBody | @requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。 | 前端json字符串中的key必须对应user中的属性名,否则是请求映射不上。 |
| @PathVariable | 绑定函数中的参数用于获取参数 | 默认的情况下,Spring会对@PathVariable注解的变量进行自动赋值,当然也可以指定@PathVariable使用哪一个URL中的变量,例如@PathVariable(“uname”) String username |
| @Service | 标注这个是一个业务类 | 添加在实现类上 |
| @Component | 把普通bean实体实例化到Spring容器中 | 需要该类时,必须把改类放入Spring容器中否则会找不到该类。 |
👁️ 阅读量:0
© 版权声明:本文《SpringBoot常用注解及其应用》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686808589a343081.html。