整理一些spring常用注解

以下为个人总结的一些常见的注解:

一、@Component @Named @Bean

@Component

在开启自动组件扫描注解之后,在类上使用该注解,Spring会自动为这个类创建实例,创建的BeanId为类名第一个字母小写后的名称,如果要自定义BeanId,可以使用@Component(“名称”)。

@Named

这个注解是属于java本身的一个注解,可以作为@Component的替代方案,但是一般不用推荐此注解。

@Bean

这个注解一般修饰在方法上,被修饰的方法用于返回指定类的一个对象,相比@Component @Named,该注解的特别之处在于可以让我们定制生成Bean的方式,比如有一个接口A,有两个实现接口A的类B、C,我们可以实现让spring随机返回B或C的实例。同时,该注解还能实现和@Autowired类似的依赖注入功能,将方法参数上声明的bean注入进来。一般来说,生成的BeanId为方法名,如果要自定义BeanId,可以使用@Bean(name="名称")。

二、@Autowired @Inject

@Autowired

该注解可修饰在构造器和setter方法上,其实也可以修饰在任何方法上,spring会尽量在上下文中找到需要注入的bean进行注入,如果没有可以匹配的bean,或者出现匹配歧义,都会抛出异常。

@Inject

该注解是属于java本身的一个注解,可以作为@Autowired的替代方案。

三、@Configuration

该注解用于配置类上,可以替代spring的XML配置方式。

四、@ComponentScan

该注解修饰于类上,开启spring自动扫描,默认扫描与修饰类相同的包及其下所有子包。

五、@RequestMapping,@RequestParam,@PathVariable

@RequestMapping

用于MVC中的Controller的类或方法上,声明访问路径,常用的有两个参数value和method,value表明路径,method表明请求类型(get,post等等)。

value参数中可以使用占位符“{}”,比如一个请求的路径是/user/123,表明请求userId为123的用户,我们可以使用/user/{userId},

然后在具体处理方法参数上使用@PathVariable("userId")将userId赋值给方法参数。

@RequestParam

用于方法参数上,作用是将Get请求url中的参数赋予方法参数,常用的有两个参数value和defaultValue,value表明请求中的参数名称,defaultValue表明默认值。

@PathVariable

作用与@RequestParam注解差不多,都是将请求中的某个值赋予方法参数,不同之处在于@RequestParam对应的是get请求中显式声明的参数名,而@PathVariable对应的是占位符的名称。

六、@Valid

一般注解于方法参数上,表明被注解的参数要满足java校验限制,这里涉及到java校验注解。

七、@ResponseStatus,@ExceptionHandler

@ResponseStatus

标注于异常类上,用于将指定异常映射为http状态码。

@ExceptionHandler

标注于控制器的方法上,可让该方法处理指定的异常。

陆续更新中。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值