常用注解整理(学习笔记,超详细)

常用注解整理(边学习边整理、超详细)

1、@SpringBootApplication:

​ 标识一个类是SpringBoot应用的主类,自动扫描组件并完成自动配置,是SpringBoot应用的入口。

它是一个组合注解,包含三个注解:

  1. @SpringBootConfiguration:标识一个类是springBoot应用的配置类,用于定义配置信息,Bean的创建和组装等。
  2. @EnableAutoConfiguration:用于启动SpringBoot自动配置机制,SpringBoot根据项目的依赖和配置,自动推断并配置应用程序,他会根据类路径上的Jar包、类路径下的属性文件以及其他配置方式来自动配置Spring应用。极大的简化了应用程序的配置过程,减少了手动配置的工作量。(这个注解把Spring应用所需的Bean注入到容器中)
  3. @ComponentScan:用于指定需要扫描的包及其子包,并将其注册到Spring容器中,自动装配标注有特定注解的组件(如:@Component、@Service、@Repository),被扫描到的组件会根据其注解类型自动注册为相应的Bean,并可在其他组件中通过依赖注入的方式使用(@Autowired或@Inject)。

​ 需注意一下几点:

  • @ComponentScan注解可以指定多个包路径,使用数组方式或逗号分割
  • 默认情况下,@ComponentScan会扫描配置类所在包及其子包下的组件,也可以通过BasePackages属性指定扫描的包路径。
  • 可以通过IncludeFiltersexcludeFilters属性来控制组件的过滤规则,只选择需要扫描的特定组件。
2、@Configuration

​ 标识一个类为配置类,用于定义配置信息、创建Bean以及组装他们。

​ Bean定义,在配置类中,使用@Bean注解定义Bean,@Bean注解告诉Spring容器将方法的返回值注册为一个Bean。并注入到容器中管理。

​ 依赖注入,配置类中的Bean可以通过构造参数注入、方法参数注入、@Autowired注解进行依赖注入,实现Bean之间的协作和交互。

​ 条件化配置,配置类中的方法可以使用条件注解(如@Conditional@ConditionalOnProperty等)来进行条件化配置。

3、@RestController

标识一个类是RESTFUl风格的控制器,是一个复合注解,由:@ResponseBody@Controller组成

==@ResponseBody:==将方法的返回结果直接写入到 HTTP response body中,进而将数据返回给客户端,不会被解析为跳转路径

​ 当方法上没有写@ResponseBody时,底层会将方法的返回值封装为ModelAndView对象

​ 如果返回值是一个字符串,直接将字符串返回给客户端;如果是一个Java对象,会将对象转化为json串,然后返回。

==@Controller:==标识该类为控制器类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了@RequestMapping注解

4、@RequestMapping

​ 是一个用来处理请求地址映射的注解,可以用于映射一个请求或一个方法,可以用在类上或方法上。

用于类上:表示类中的所有响应请求的方法都是以该地址作为父路径

​ ==用于方法上:==表示在类的父路径下追加方法上注解中的地址将会访问到该方法

​ 常用属性:valuemethodparams

5、@RequestBody

​ @RequestBody可以与@RequestParam结合使用,参数前使用了@RequestParam,前端必须传这个参数值,否则请求出错。

​ @RequestBody 接收的是请求体里面的数据,一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/jsonapplication/xml等类型的数据;

​ @RequestParam接收的是请求头里的数据。

  1. 请求体绑定:@RequestBody注解用于将请求的内容(通常是JSON或XML格式的数据)绑定到方法的参数上。它告诉Spring MVC框架将请求体的内容解析并转换为指定的参数类型。
  2. 对象转换:当请求体的内容与方法参数的类型匹配时,@RequestBody注解将自动进行对象转换。例如,如果请求的内容是JSON格式的数据,并且方法参数类型是Java对象,Spring MVC自动将JSON数据转换为Java对象。
6、@Component

​ 用于标识一个类为组件,它是其他特定功能注解的基础注解

​ 作用:1、标识组件

​ 2、自动扫描,Spring框架会自动扫描该类并将其注册为一个Bean(组件)

​ 3、依赖注入,被标注为组件的类可以通过依赖注入方式获取其他组件的实例,完成相应的业务逻辑

7、@Service

​ 表示一个类是服务层(Service),用于定义业务逻辑的处理

8、@Repository

​ 用于表示一个类为数据访问层(Repository),表示该类是负责与数据库或其他数据源交互的组件

​ 这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项

9、@Autowired

@Autowired注解由Spring提供,只按照byType注入,不是去匹配name,如果只根据type无法辨别注入对象时,就需要配合@Qualifier注解或者@Primary注解使用

10、@Resource

@Resource是J2EE本身提供的,默认按照名称进行装配,名称也可以通过name进行指定,如果没有指定name属性或者type属性,就会通过反射机制使用byName自动注入策略。按名称进行查找时,当找不到与名称匹配的bean时,才按照类型进行装配,需要注意的是,一旦指定name属性,就只会按照名称进行装配。

11、@Data

注解在类上,提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法

12、@Log4j2

注解在类上;为类提供一个 属性名为log 的 log4j 日志对象,和@Log4j注解类似

13、@Transactional

未整理完,待续…

Spring框架中的注解,用于声明事物的范围和行为,可以用在类级别上或方法上,用于标识希望开启事物的方法或类。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值