Spring、SpringMVC、SpringBoot注解大全及解释

Spring、SpringMVC和Spring Boot是Java开发中常用的框架,它们通过注解来简化配置和编码。以下是对这些框架中常用注解的详细介绍及使用方式:

Spring常用注解:

1.@component

  • 作用:通用的组件注解,标识一个类为Spring组件,会被自动扫描并创建Bean。
  • 使用场景:泛指组件,当组件不好归类时,就用@Component注解。

2.@Controller

  • 作用:表示控制器层的注解,用于标识Web控制器组件。
  • 使用场景:添加在类上,表示当前类是一个组件,建议添加在控制器类上。

3.@Service

  • 作用:表示服务层的注解,用于标识业务逻辑组件。
  • 使用场景:添加在类上,表示当前类是一个组件,建议添加在处理业务逻辑的类上。

4.@Reponsitory

  • 作用:表示持久层的注解,用于标识数据访问组件。
  • 使用场景:添加在类上,表示当前类是一个组件,建议添加在数据访问层的类上。

5.@Configuration

  • 作用:表示配置类的注解,用于定义配置类,替代XML配置文件。
  • 使用场景:声明一个IOC容器,把所有标记了@Bean注解的类注入到IOC容器中去。

6.@Bean

  • 作用:使用在方法上,标注将该方法的返回值存储到Spring容器中。
  • 使用场景:通常与@Configuration注解一起使用,用于将方法的返回值注册为Bean。

7.@Autowired

  • 作用:用于根据类型依赖注入,可以标注在属性上、方法上、构造方法上。
  • 使用场景:让Spring框架自动装配Bean的依赖关系。

8.@Qualifier

  • 作用:结合@Autowired一起使用,用于根据名称进行依赖注入。
  • 使用场景:当存在多个相同类型的Bean时,可以使用@Qualifier来指定注入的Bean名称。

9.@Scope

  • 作用:标注Bean的作用范围,如singleton(单例)、prototype(原型)等。
  • 使用场景:添加在组件类上或@Bean方法上,用于配置Bean的作用范围。

10.@Lazy

  • 作用:将Spring管理此对象调用为“懒加载”。
  • 使用场景:添加在组件类上或@Bean方法上,用于指定Bean的懒加载模式。

11.@ComponentScan

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

12.@Import

  • 作用@Import导入的类会被Spring加载到IOC容器中
  • 使用场景:用于加载config配置类。

13.@Aspect、@Before、@After、@Around、@Pointcut

  • 作用:用于AOP切面编程

SpringMVC常用注解:

1.@RequestMapping

  • 作用:用于映射请求路径,可以定义在类上和方法上。
  • 使用场景:一般用于类上,则表示类中的所有方法都是以该地址作为父地址;用于方法上,则用于映射具体的

2.@GetMapping、@PostMapping、@PutMapping、@DeleteMapping

  • 作用:分别用于处理GET、POST、PUT、DELETE请求,简化@RequestMapping的使用。
  • 使用场景:添加在方法上,用于配置特定HTTP方法的请求路径。

3.@pathVariable

  • 作用:用于获取URL中的路径变量,将路径中的值绑定到方法参数上。
  • 使用场景:添加在处理请求的方法的参数上,用于接收URL中的占位符参数。

4.@RequestParam

  • 作用:用于获取请求参数的值,将请求参数绑定到方法参数上。
  • 使用场景:添加在处理请求的方法的非封装类型的参数上,用于指定请求参数名称、限制必须提交、配置默认值等。指定请求参数名来接收集合类型的参数。

5.@RequestBody

  • 作用:用于接收http请求的json数据,将json转换为java对象。
  • 使用场景:添加在处理请求的方法的参数(实体类)上,用于要求客户端使用JSON格式来提交请求参数。

6.@ResponseBody

  • 作用:用于将方法的返回值直接写入HTTP响应体中,通常用于返回JSON或XML格式的数据。
  • 使用场景:添加在方法上或控制器类上,表示此方法或此控制器中所有方法在响应时,都是响应正文的。

7.@RestController

  • 作用:是@Controller和@ResponseBody的组合注解,表示此类是一个控制器类,并且类中所有方法在响应时,都是响应正文的。简化注解。
  • 使用场景:添加

8.@RequestHeader

作用:获取请求头中的数据绑定到控制器(Controller)方法的参数上。

使用场景:许多 API 需要客户端在请求中包含认证信息,如 API 密钥、JWT 令牌等,这些信息通常放在请求头中。

SpringBoot常用注解:

1.@SpringBootApplication

  • 作用:这是Spring Boot的核心注解,用于标识一个Spring Boot应用的主类。它是一个组合注解,包含了@Configuration、@EnableAutoConfiguration、@ComponentScan三个注解的功能。
  • 解释
    • @Configuration:表明该类是一个配置类,可以定义Bean。
    • @EnableAutoConfiguration:启用Spring Boot的自动配置机制,根据添加的jar依赖自动配置Spring应用。
    • @ComponentScan:告诉Spring Boot扫描当前包及其子包中的类,将标注了@Component、@Service、@Repository、@Controller等注解的类注册为Bean。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值