常用注解还不会用?这些是工作上必须掌握的注解

3c20d0fc5cf62b9412391427fa2fff0f.png

 

点击上方蓝字关注我们

1

Springboot核心注解:

@SpringBootApplication(原理掌握)组成:

    @SpringBootConfiguration,类似Spring的配置注解。

    @EnableAutoConfiguration,自动配置注解。

    @ComponentScan:组件扫描。

f28d5257aa496b21bda6b2cda56d705d.gif

61de358fb1d7ba857b6917f1bb28a8b4.png

2

请求注解:

1、@RequestMapping、@PostMapping、@GetMapping、@DeleteMapping、@PutMapping:除了@RequestMapping,其他均是其细化。比如PostMapping只支持POST请求等。一般控制层的类上会带@RequestMapping,并带上父路径,底下的方法再逐一细分是什么请求,对应地,使用什么类型的@xxxxmapping。

2、@RequestBody、@RequetParam、@PathVariable:均作用在控制层方法参数上。比如POST请求的方法,参数是一个对象,此时就可以使用@RequestBody进行接收。@RequetParam、@PathVariable可用于Get、DELETE等请求的参数上。两者区别在url上,如果是@PathVariable,应该这样的url=getUser/1。如果是@RequetParam,应该是这样的url=getUser?userId=1。

32b2795235e412e8615ea914d5942567.gif

ea298b8ef70691837162871750ac0eb3.png

3

组件类注解:

1、@Repository、@Service、@Component:组件标识,分别标识dao组件,业务层组件、通用组件。比如在service层实现类上添加@Service注解。

2、@Controller和@RestController:组件标识,标识控制层组件。区别在于,@RestController是@ResponseBody+@Controller,返回的是json格式信息。

3、@ComponentScan:组件扫描。在Springboot中已经做了组件的扫描,当自定义了新的组件,只需要标注@Component即可被Spring发现。

9d0a840c05b66dc4d498ea1183329bbc.gif

ab86fe11c730c7240ecf780f321a6e64.png

4

全局异常处理注解:

1、@RestControllerAdvice:标识该类为异常处理类,里面包含@Component。

2、@ExceptionHandler:用在方法上面表示遇到这个异常就执行以下方法。需指定指定异常的class,比如@ExceptionHandler(Exception.class)。

95def4eeddc5afc48544e936dfd6d043.gif

573c111b7e7500b7e9dbfbfa5b012e68.png

5

装配注解:

1、@Autowired、@Resource、@Qualifier:平常使用较多是@Autowired。比如在用户service需要用到订单service,那可以通过定义私有字段private Orderervice ods;并用@Autowired标注,最后ods.方法名()使用即可。而当存在多个同一类型bean时,可以使用@Qualifier来指定bean的name。@Resource与@Autowired做着一样的事,但@Resource默认是byName进行装配。

2、@Configuration和@Bean:@Configuration标注该类为配置类。@Bean产生一个bean,并将其交给spring容器。

25ca0889450bcad4e9f4da65aadb41ea.gif

f47ed4a113882c872dcc9637ea4e0388.png

6

其他一些注解:

1、@ResponseBody:返回信息为json形式的数据。一般来说会直接使用@RestRestController标注。

2、@CrossOrigin:解决跨域问题。如果没做特殊处理,一般的@CrossOrigin都会加在控制层的类上。除非引入了gateway网关,就无需通过注解解决跨域。

3、@MapperScan:以往我们使用@Mapper一个个定义mapper,有了@MapperScan之后,只需指定mapper包,就不需要一个个使用@Mapper注解了。

比如:在启动类添加注解并指定mapper位置,@MapperScan(“com.jqh.core.mapper”)。

4、@EnableScheduling:开启定时任务,在类上使用。

5、@Value:将外部配置文件的值动态注入。比如application.properties配置了emailNum=3,在定义字段private String num上添加注解@Value(${emailNum})即可,此时num=3。

6、@Transactional:声明式事务注解。

7、@Data:lombok下的注解,使用后就无需再写实体类的getter和setter方法。

1fd5dc7820eacfcc94e648aed5acc61e.gif

7f58379ac7b5baf8c6de50500324d7aa.png

7

SpringCloud注解:

1、@EnableEurekaServer:标识这是eureka服务注册中心。

2、@EnableDiscoveryClient:标识这是一个服务,可让注册中心发现。

3、@EnableFeignClients:开启服务调用。

4、@LoadBalanced:负载均衡,也可通过gateway配置。

5、@FeignClient:服务调用注解,指定被调用端的服务,可指定熔断类。

6、@EnableConfigServer:标识这是配置中心。

426a64b379ceb4497978a3e35b0d59d0.gif

ddc7df244fa94c28e0954ba2384e9226.png

18404c81e5d11aa164c74354ac75a983.png

点个在看你最好看

0d7d8ce0897382b2227fa3a13e80cda0.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

IT学习小镇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值