Java常用注解

spring

 

1. @Controller, @Service, @Repository,@Component

目前4种注解意思是一样,并没有什么区别,区别只是名字不同。使用方法:

@Controller

public class TestController {

}

 

2. @Autowired

Autowired默认先按类型注入,如果发现找到多个bean,则又按照byName方式比对,如果还有多个,则报出异常。

可以手动指定按byName方式注入,使用@Qualifier。

@Autowired

@Qualifier(“pean”)

public Fruit fruit;

 

3. @Resource

默认按名称自动注入,如果找不到再按byType找bean,如果还是找不到则抛异常

可以手动指定bean,它有2个属性分别是name和type,使用name属性,则使用byName的自动注入,而使用type属性时则使用byType自动注入。

@Resource(name=”bean名字”)

@Resource(type=”bean的class”)

 

4. @RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);

GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

注:一个请求,只有一个RequestBody;一个请求,可以有多个RequestParam。

 

5. @CrossOrigin

是用来处理跨域请求的注解

 

6. @RequestParam

将请求参数绑定到你控制器的方法参数上

前端提交的form表单数据的name属性 和方法中的参数名不一致时 ,springMVC就无法自动封装参数,所以需要@RequestParam(前端name属性名称)来指定前端提交的表单的name属性的名称
当前端的name属性和方法的参数名一致的时候,可以不使用此注解,主要作用在Controller层

public String edit1(@RequestParam("userId") Integer userId, Model model) {

}

 

7. @Param:

当入参有多个参数时使用,还可以设置默认值,主要是作用在dao层
使用@Param后,接口中的参数顺序也可以打乱,只要id唯一即可
当只有一个参数的时候可以不使用此注解

 

8. @RestController

@RestController = @Controller + @ResponseBody。

是2个注解的合并效果,即指定了该controller是组件,又指定方法返回的是String或json类型数据,不会解决成jsp页面,注定不够灵活,如果一个Controller即有SpringMVC返回视图的方法,又有返回json数据的方法即使用@RestController太死板。

灵活的作法是:定义controller的时候,直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody

 

9. @RequestMapping  

处理映射请求的注解。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径

 

 

lombok

@Data

简洁代码,省去get,set,toString等等

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值