spring boot常用注解

本文详细介绍了Spring Boot中常用的核心注解,包括@SpringBootApplication、@MapperScan、@EnableEurekaClient、@RestControllerAdvice等,涵盖了启动类配置、Mapper接口生成、服务发现、异常处理、组件扫描、控制层等多个方面,旨在帮助开发者更好地理解和使用Spring Boot。
摘要由CSDN通过智能技术生成

1.springBoot启动类

  • @SpringBootApplication
    该注解标记的类为springBoot启动类
    该类中可以定义一个或多个Bean,并自动触发自动配置Bean和自动扫描组件,相当于@Configuration + @EnableAutoConfiguration + @ComponentScan
    • @Bean
      在spring启动类中配置bean,使用时直接@Autowired获取
    • @Scope
      标注@Compenent或@Bean的作用范围(singleton、prototype、request、session、globalSession或者其他的自定义范围)
      默认是singleton(单例)

2.扫包,为Mapper接口生成实现类

  • @MapperScan(basePackages = {“com.xxx.test.dao”})
    不用在每一个需要动态代理生成实现类的Mapper接口上打@Mapper注解
    在xxx启动类上添加该注解,就会自动为指定包的接口生成实现类

3.启用Eureka客户端

  • @EnableEurekaClient @EnableDiscoveryClient
    在spring启动类上配置,启用Eureka客户端
    使用Eureka注册中心时,使用@EnableEurekaClient
    使用其他注册中心时,使用@EnableDiscoveryClient

4.启用Feign客户端

  • @EnableFeignClients(basePackages = {“com.xxx.goods.feign”,“com.xxx.wxpay.feign”})
    在xxx启动类上配置,启用Feign客户端
    默认扫描当前包及子包,basePackages配置要扫描的其他包
  • @FeignClient(name = “goods”)
    feign客户端,name配置微服务在yml文件中设置的名字

5.公共异常处理类

  • @RestControllerAdvice
    相当于@ControllerAdvice+@ResponseBody,是@Component的延伸,
    spring会自动扫描并检测被其标注的类,主要用来处理控制器(Controller层)抛出的异常。
    被@RestControllerAdvice标注的类需要定义一个用于处理异常的方法,并使用注解@ExceptionHandler(value = Exception.class)
  • @ExceptionHandler(value = Exception.class)
    标注公共异常处理类中处理异常的方法,value属性配置处理的异常范围

6.扫包

  • @ComponentScan
    扫包,如果其他包都在@xxxApplication注解的Main App所在的包及其下级包,则不用配置,xxx会自动扫描

7.标注该类是一个组件类/控制层/服务层/持久层

  • @Component @Controller @Service @Repository
    标注该类是一个组件类/控制层/服务层/持久层

8.跨域

  • @CrossOrigin
    跨域(使用gateway后就不用使用该注解了)

9.控制层

  • @RestController
    相当于@Controller+@ResponseBody,是@Component的延伸,
    Spring会自动扫描并配置被该注解标注的类。此注解用于标注Spring MVC的控制器

  • @ResponseBody
    只能用在被@Controller标注的类
    将返回对象通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区(一般是将返回对象转化为json串)

  • @RequestMapping
    将Web请求与请求处理类中的方法进行映射
    六个配置属性:
    - value:映射的请求URL或者其别名
    - method:兼容HTTP的方法名
    - params:根据HTTP参数的存在、缺省或值对请求进行过滤
    - header:根据HTTP Header的存在、缺省或值对请求进行过滤
    - consume:设定在HTTP请求正文中允许使用的媒体类型
    - product:在HTTP响应体中允许使用的媒体类型

    • @GetMapping @PostMapping @PutMapping @DeleteMapping
      相当于@RequestMapping(method=RequestMethod.GET/POST/PUT/DELETE)
  • @PathVariable(name= “id”)
    将对应的方法形参与restful风格的请求URI变量映射
    如果参数是一个非必须的 可选的项,则可以在@PathVariable中设置require = false

  • @RequestParam(name = “id”,defaultValue = “0”)
    将对应的方法形参与对应的web请求传递的参数进行映射
    如果参数为空,可以通过defaultValue设置一个默认值

  • @RequestBody
    处理请求方法的参数列表中使用,将请求体中的参数封装到一个对象中

  • @Autowired
    标记要解析和注入的依赖项,可用于构造函数、Setter和字段上
    一般直接在字段上标记获得对应的实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值