Spring、SpringMVC常用的注解

Spring中常用的注解

  • @Component:使用在普通类上用于实例化Bean,如果不指定value名称,由spring提供默认名称:类名的首字母小写,以下类同

  • @Controller:使用在Controller层上用于实例化Bean

  • @Service:使用在service层类上用于实例化Bean

  • @Repository:使用在dao层类上用于实例化Bean

  • @Value:简单类型属性注入【包括字符串】

  • @Autowired:引用类型属性注入,默认是按类型自动装配bean

  • @Qualifier+@Autowired:引用类型属性注入,需要在引用属性上联合使用注解@Autowired 与@Qualifier。@Qualifier 的 value 属性用于指定要匹配的 Bean 的 id 值。类中无需 set 方法,也可加到 set 方法上

  • @Resource:该注解既可以按名称匹配Bean,也可以按类型匹配 Bean。 默认是按名称注入。原理:判断@Resource注解括号中的name属性是否为空,如果为空:看spring容器中的bean的id与@Resource要注解的那个变量属性名是否相同,如相同,匹配成功;如果不相同,看spring容器中bean的id对应的类型是否与@Resource要注解的那个变量属性对应的类型是否相等,若相等,匹配成功,若不相等,匹配失败

  • @Configuration:用于指定当前类是一个Spring 配置类,当创建容器时会从该类上加载注解

  • @ComponentScan:用于指定 Spring 在初始化容器时要扫描的包

  • @Bean:使用在方法上,标注将该方法的返回值存储到 Spring 容器中,@Bean如果不指定对象的名称,默认对象名称是方法名
    在这里插入图片描述

  • @PropertySource:用于加载.properties 文件中的配置

  • @Import:用于导入其他配置类

SpringMVC中常用的注解

  • @Controller:使用在Controller层上用于实例化Bean

  • @ResponseBody :作用于方法上,可以将整个返回结果以某种格式返回,如果是字符串则直接将字符串写到客户端;如果是一个对象,此时会将对象转化为json串然后写到客户端

  • @RestController:相当于@Controller + @ResponseBody

  • @RequestMapping :建立请求URL和处理方法之间的对应关系,既可以在方法上使用又可以在类上使用,如果这些请求具有相同的 URI 部分,则这些相同的 URI,可以被抽取到注解在类之上的@RequestMapping 的 value 属性中。此时的这个 URI 表示模块的名称。URI 的请求是相对于 Web 的根目录

    • @RequestMapping的属性:
      • value属性:定义request请求的映射地址
      • method属性:定义地request址请求的方式,包括【GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE.】默认接受get请求,不同的请求方式,都有相应的注解,如@PutMapping、@PostMapping、@DeleteMapping和@GetMapping
      • params属性:指定限制请求参数的条件:
  • @PathVariable:用于接收路径参数,使用{参数名称}描述路径参数,常用于Restful风格的参数请求中,必须加该注解,不然报错,路径变量名和形参名一样, value 可以不写
    在这里插入图片描述

    • 如果请求的参数和控制器方法中的参数不一致,可以指定
      在这里插入图片描述
  • @RequestParam:用来接收url地址传参或者表单传参,当请求的参数名称与Controller的业务方法参数名称不一致时,就需要通过@RequestParam注解显示的绑定
    在这里插入图片描述

  • @Requestbody:用于接收json数据

总结

  • 后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBody应用较广
  • 如果发送非json格式的请求参数,选用@requestParam接收请求参数
  • 采用Restful风格进行开发时,当参数较少时,用@PathVariable接收请求路径参数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值