SSM框架常用注解

1 Spring常用注解

IOC(把bean对象交给spring容器管理)相关的

 @Component @Service @Repository(dao注解不常用,有mybatis) @Controller @Configuration   把类的对象交给spring容器管理

 @Bean 把方法的对象交给spring容器管理

DI相关的

 @Autowired 根据类型注入值

 @Qualifier 如果某个接口有多个实现类,需要配合该注解使用@Qualifier("bean的ID")

 @Value 设置对应属性的值或对方法进行传参

AOP相关的

  @Aspect 设置当前类为切面类

@Pointcut 使用当前方法名作为切入点引用名称

@After 

@Before 

@Around

    事物相关的

  @Transactional 设置当前类/接口中所有方法或具体方法开启事务,并指定相关事务属性

(常用属性:propagation = Propagation.事物的传播行为)

    集成单元测试

  @RunWith(SpringJUnit4ClassRunner.class)

  @ContextConfiguration("classpath:applicationContext.xml")

2 SpringMVC常用注解

    @Controller

    @RequestMapping @GetMapping @PostMapping ..

    @RequestBody 如果前端发送的数据类型是application/json 需要使用该注解将前端发送的数据封装到实体类中

    @ResponseBody 表示把方法的返回值变成JSON格式响应给客户

    @RequestParam 如果表单中的name的值和方法的形参不匹配,需要使用该注解,<input type='text' name="username">   public void method(@RequestParam("username")String name)

    @PathVariable 获取路径中的值 @RequestMapping("/{id}")public void method(@PathVariableString id)

    @CrossOrigin 跨域

    @RestController = @Controller + @ResponseBody

    @Validated 加在controller的方法上的形参 public void method(@Validated User user) 表示对前端传过来的数据进行校验

    @Valid 加载User的属性上,并且该属性又是一个对象,比如User有一个属性是Address,需要对Address也进行校验,那么在address属性上加该注解即可

下面两个都是在方法的参数中

body和query传参的区别

query是指请求的参数,一般是指URL中?后面的参数
如http://xxxx.com/api/index.html?name=‘aaa’name='aaa’就是query

 body是指请求体中的数据

    @RequestParam获得请求体中的参数 用于接收各种类型参数 ,也可以获得请求参数query中的参数键值对.一般用于接收表单数据不论get还是post,因为rest风格对于get就是获取,post就是提交有不同的含义,所以post和get都可以往url拼接param字符串.

    @RequestBody用于接收string类型的一堆的json数据 一般少的时候用Map<String, String>接收然后String phone = paramMap.get("phone");取,只用于post请求,多的时候用对象接收即可

不推荐使用@RequestParam接收application/json,这时候就需要使用到@RequestBody,这里我有个误区这里的参数不管什么请求都可以用,只看请求中的数据即可。

    @RequestHeader请求头

    @PathVariable 获得get访问连接path中的数据  @GetMapping("{commentId}/like") 取@PathVariable("commentId") String commentId

postmapping和RequestMapping的区别

  @GetMapping
用于将HTTP GET请求映射到特定处理程序方法的注释。具体来说,@GetMapping是一个作为快捷方式的组合注释
  @RequestMapping(method = RequestMethod.GET)。

  @PostMapping
用于将HTTP POST请求映射到特定处理程序方法的注释。具体来说,@PostMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.POST)。

  @RequestMapping:
一般情况下都是用@RequestMapping(method=RequestMethod.),因为@RequestMapping可以直接替代以上两个注解,但是以上两个注解并不能替代@RequestMapping,@RequestMapping相当于以上两个注解的父类!

类似的组合注解还有:
  @PutMapping、@DeleteMapping、@PatchMapping
总结下来就是@PostMapping和@GetMapping都可以用@RequestMapping代替,如果读者怕在映射的时候出错,可以统一写@RequestMapping,当然这样写的话也有弊端,笼统的全用@RequestMapping, 不便于其他人对代码的阅读和理解!还是建议区分开来写!养成良好的代码习惯!
 

 

3 mybatis的常用注解

  @Insert:实现新增

  @Update:实现更新 

  @Delete:实现删除

  @Select:实现查询

  @Result:实现结果集封装

  @Results:可以与@Result 一起使用,封装多个结果集

  @One:实现一对一结果集封装

 @Many:实现一对多结果集封装

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值