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注解,否则手动添加需要的注解。
@ComponentScanComponentScan做的事情就是告诉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容器中否则会找不到该类。
  • 11
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值