SpringBoot最常用的注解!!!

hello大家好,我们都知道SpringBoot的核心注解是@SpringBootApplication,主要组合包含了以下 3 个注解:

  • @SpringBootConfifiguration:组合了 @Confifiguration 注解,实现配置文件的功能。
  • @EnableAutoConfifiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能:@SpringBootApplication(exclude
    = { DataSourceAutoConfifiguration.class})。
  • @ComponentScan:Spring组件扫描。

今天我们将介绍一些SpringBoot的其他注解。

图片

1、@RestController
作用:与@Controller类似,但是@RestController会自动将返回值转换为JSON格式。

2、@RequestMappingr

作用:用于映射请求URL和处理方法。

@RequestMapping是Spring MVC框架中的一个核心注解,它用于映射HTTP请求和控制器方法之间的关系。它可以用于类级别和方法级别,用于指定请求URL和HTTP方法(GET、POST、PUT、DELETE等)。

3、@ResponseBody

作用:用于将方法的返回值转换为HTTP响应的主体。

@ResponseBody是Spring MVC框架中的一个注解,用于将控制器方法的返回值转换为HTTP响应体中的数据。

4、@Autowired

作用:用于自动装配Spring容器中的Bean。

5、@Component

作用:用于标识一个类是Spring容器中的组件。

@Component是Spring框架中的一个通用注解,用于标注一个类作为Spring Bean。

图片

6、@Service

作用:用于标识一个类是Spring容器中的服务组件。

@Service是Spring框架中的一个注解,用于标注一个类作为服务类(Service)。

7、@Configuration

作用:用于标识一个类是Spring的配置类。

@Configuration是Spring框架中的一个注解,用于标注一个类作为配置类。
8、@Bean

作用:用于将一个方法返回的对象注册到Spring容器中。

@Bean是Spring框架中的一个注解,用于将一个方法返回的对象注册为一个Spring Bean。

9、@Conditional

作用:用于根据条件判断是否创建Bean或执行配置。

10、@PropertySource

作用:用于指定配置文件的位置。

@PropertySource是Spring框架中的一个注解,用于指定一组属性文件的位置,从而可以在Spring应用程序中使用这些属性。

图片

11、@ExceptionHandler

作用:用于处理异常。

12、@ResponseStatus

作用:用于指定异常的HTTP响应状态码。

13、@ControllerAdvice

作用:用于全局处理异常。

**@ControllerAdvice是Spring框架中的一个注解,用于定义全局控制器通知。

在Spring MVC框架中,控制器通知是一些特殊的组件,它们可以在控制器方法执行前、执行后或抛出异常时执行一些额外的逻辑处理。使用@ControllerAdvice注解可以定义全局控制器通知,它可以应用于所有的控制器。**

14、@CrossOrigin

作用:用于解决跨域问题。

@CrossOrigin是Spring框架中的一个注解,用于解决跨域资源共享(CORS)问题。

跨域资源共享是浏览器安全策略的一部分,它限制了浏览器在不同域名之间发送和接收HTTP请求。使用@CrossOrigin注解可以指定允许跨域访问的域名和HTTP方法。

15、@Async

作用:用于将方法标记为异步执行。

在Spring框架中,如果一个方法需要执行一些比较耗时的操作,如果这个方法是在主线程中执行,就会导致主线程被阻塞,用户界面无法响应用户的操作。使用@Async注解可以将这个方法的执行异步化,让主线程继续执行其他任务,提高应用程序的响应性能。

图片

16、@Cacheable

作用:用于缓存方法的返回值。

在Spring框架中,如果一个方法的返回结果是固定的,而且这个方法的执行比较耗时,我们可以使用@Cacheable注解将这个方法的返回结果缓存起来,下次执行这个方法时直接从缓存中获取结果,避免重复执行。

17、@CacheEvict

作用:用于清除缓存。

@CacheEvict是Spring框架中的一个注解,用于清空缓存中的数据。

在Spring框架中,如果一个方法的执行会导致缓存数据的失效,我们可以使用@CacheEvict注解将这个方法的缓存数据清空,这样下次执行这个方法时就会重新查询数据并缓存起来。

18、@CachePut

作用:用于更新缓存中的数据。

@CachePut是Spring框架中的一个注解,用于更新或添加缓存中的数据。

在Spring框架中,如果一个方法的执行会导致缓存数据的更新或添加,我们可以使用@CachePut注解将这个方法的返回结果更新或添加到缓存中。

19、@EnableTransactionManagement

作用:用于启用事务管理功能。

@Transactional是Spring框架中的一个注解,用于标识一个方法或类需要使用事务进行操作。

在Spring框架中,如果一个方法需要对数据库进行操作,我们可以使用@Transactional注解来确保这个操作在一个事务中进行,从而保证操作的原子性、一致性、隔离性和持久性。

20、@EnableAspectJAutoProxy

作用:用于启用AOP功能。

@EnableAspectJAutoProxy是Spring框架中的一个注解,用于启用自动代理功能,以便使用AOP(面向切面编程)进行编程。

在Spring框架中,如果需要使用AOP来实现某些功能,我们可以使用@EnableAspectJAutoProxy注解来启用自动代理功能,从而在运行时自动为我们生成代理对象,以便进行切面编程。

图片

21、@Aspect

作用:用于定义切面。

@Aspect是Spring框架中的一个注解,用于标识一个类为切面类,从而可以在该类中定义切面逻辑以实现AOP(面向切面编程)。

在Spring框架中,如果需要使用AOP来实现某些功能,我们可以使用@Aspect注解来标识一个类为切面类。在切面类中,我们可以定义切面逻辑,包括切入点、通知类型和切面顺序等,从而实现AOP编程的功能。

22、@Around

作用:用于在方法执行前后执行通知。

@Around是Spring框架中的一个注解,用于定义在目标方法执行前后执行的通知类型,以实现AOP(面向切面编程)。

在Spring框架中,如果需要在目标方法执行前后执行某些操作,我们可以使用@Around注解来定义一个通知类型。在这个通知类型中,我们可以编写自己的逻辑代码,从而实现AOP编程的功能。

23、@AfterThrowing

作用:用于在方法抛出异常后执行通知。

@AfterThrowing是Spring框架中的一个注解,用于定义在目标方法抛出异常后执行的通知类型,以实现AOP(面向切面编程)。

在Spring框架中,如果需要在目标方法抛出异常后执行某些操作,我们可以使用@AfterThrowing注解来定义一个通知类型。在这个通知类型中,我们可以编写自己的逻辑代码,从而实现AOP编程的功能。

24、@Data

作用:用于自动生成JavaBean的getters、setters、toString、hashCode和equals方法。

@Data是Lombok框架中的一个注解,可以自动生成Java类的getter、setter、equals、hashCode和toString等方法。

在Java开发中,我们经常需要编写一些POJO类来表示数据结构。这些类通常包含一些成员变量,并且需要编写相应的getter、setter、equals、hashCode和toString等方法。这些方法通常是相似的,而且比较繁琐。为了简化这个过程,Lombok框架提供了一个@Data注解,可以自动生成这些方法。

使用@Data注解非常简单,只需要在Java类上添加这个注解即可。在使用时,我们可以直接访问类的成员变量,并且可以自动生成相应的getter、setter、equals、hashCode和toString等方法。

25、@EqualsAndHashCode

作用:用于生成hashCode和equals方法。

@EqualsAndHashCode是Lombok框架中的一个注解,用于自动生成equals()和hashCode()方法。

在Java开发中,我们经常需要比较两个对象是否相等,并且需要根据对象的属性生成一个hashCode值。为了简化这个过程,Lombok框架提供了一个@EqualsAndHashCode注解,可以自动生成equals()和hashCode()方法。

使用@EqualsAndHashCode注解非常简单,只需要在Java类上添加这个注解即可。在使用时,Lombok会根据类的属性自动生成equals()和hashCode()方法。如果两个对象的所有属性都相等,那么它们的equals()方法返回true,并且它们的hashCode()方法返回相同的值。

### Spring Boot 2 中常用注解及用途 #### @SpringBootApplication 注解 `@SpringBootApplication` 是 `@SpringBootConfiguration`、`@EnableAutoConfiguration` 和 `@ComponentScan` 三个注解的组合。这个注解简化了应用程序入口定义,使得开发者不需要单独声明这三个基础注解即可完成大部分配置工作[^1]。 ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` #### @SpringBootConfiguration 注解注解继承自 `@Configuration`,用于标记当前 Java 作为配置,在此中可以使用 `@Bean` 来注册各种组件到 IoC 容器内。它主要用于加载配置文件以及初始化必要的环境设置[^2]。 #### @EnableAutoConfiguration 注解注解允许 Spring Boot 自动配置机制生效,即根据项目依赖关系自动推断并应用合适的默认配置选项。这大大减少了手动编写繁琐 XML 或者 Java 配置的工作量,提高了开发效率。 #### @ComponentScan 注解 通过指定 basePackages 属性来控制扫描哪些包下的组件,默认情况下会从标注有本注解所在的所在位置开始向下递归扫描所有子包内的候选组件,并将其纳入 Spring 应用程序上下文中进行管理[^3]。 除了上述核心注解外,还有一些其他重要的注解也经常被用来增强功能: - **@RestController**:用于构建 RESTful Web Services 的控制器层接口实现; - **@Service**:通常应用于业务逻辑处理的服务层组件上; - **@Repository**:标识数据访问对象 DAO 组件,负责持久化操作; - **@ControllerAdvice**:全局异常处理器,可用于集中捕获和响应整个应用程序范围内的未处理异常情况; - **@Scheduled**:支持定时任务调度的功能,可以通过简单的方法级编程方式安排周期性的后台作业执行计划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值