Spring常用注解

  • 以下四个注解作用功能相同,区别在于标识位置

    • @Component:以下三个注解都可以由该注解代替,因为他们都是@Component标识的
    • @Service:标识业务层
    • @Repository:标识DAO
    • @Controller:标识控制层
  • @Autowired 和 @Resource 两者作用相同,可用于为类的属性、构造器、方法进行注值

    • @Autowired:只按照Type 注入
    • @Resource:默认按Name自动注入,也提供按照Type 注入
  • @Component 、 @Configuration 和 @Bean

    • @Bean:主要用于方法上,有点类似于工厂方法,当使用了@Bean注解,我们可以连续使用多种定义bean时用到的注解,譬如用@Qualifier注解定义工厂方法的名称,用@Scope注解定义该bean的作用域范围,譬如是singleton还是prototype等。
    • @Component 、 @Configuration区别:@Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例,而@Component返回的是不同的实例。
  • @RequestParam

    • 将请求的参数绑定到方法中的参数上,有required参数,默认情况下,required=true,也就是改参数必须要传。如果改参数可以传可不传,可以配置required=false。
  • @PathVariable

    • 该注解用于方法修饰方法参数,会将修饰的方法参数变为可供使用的uri变量(可用于动态绑定)
    • 参数可以是任意的简单类型,如int, long, Date等等。Spring会自动将其转换成合适的类型或者抛出 TypeMismatchException异常。当然,我们也可以注册支持额外的数据类型。
    • 支持使用正则表达式,这就决定了它的超强大属性,它能在路径模板中使用占位符,可以设定特定的前缀匹配,后缀匹配等自定义格式。
  • @RequestBody

    • 指方法参数应该被绑定到HTTP请求Body上。

      • @ResponseBody :
    • 与@RequestBody类似,它的作用是将返回类型直接输入到HTTP response body中。

    • @ResponseBody在输出JSON格式的数据时,会经常用到。

    • @RestController 和 @Controller 区别

      • @RestController注解,相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面
    • @Value

      • 通过配置文件或者直接将外部值注入Bean
    • @Profile

      • 目的是多环境开发,表明在哪个环境下使用
    • @ControllerAdvice

      • 全局异常处理
      • 全局数据绑定
      • 全局数据预处理
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值