Springboot 核心注解的作用

时间:2021-12-17 01:00:02

Spring Boot 是一个非常流行的 Java 开发框架,它采用注解的方式来简化应用程序的开发和配置。在 Spring Boot 中,核心注解是一组用于控制和配置应用程序的注解。本文将介绍这些核心注解的作用和参数的含义。

@SpringBootApplication

该注解用于标识一个 Spring Boot 应用程序的主类。它结合了以下三个注解的功能:@Configuration、@EnableAutoConfiguration 和 @ComponentScan。@Configuration 表示该类是一个配置类,@EnableAutoConfiguration 表示启用自动配置功能,@ComponentScan 表示扫描当前包及其子包下的所有组件。

参数:

exclude:用于排除某些自动配置类。

@RestController

该注解用于标识一个控制器类,并将其作为 RESTful Web 服务的端点。它结合了 @Controller 和 @ResponseBody 注解的功能,@Controller 表示该类是一个控制器类,@ResponseBody 表示该方法的返回值将作为响应正文返回给客户端。

参数:

value:用于指定该控制器的访问路径。

@RequestMapping

该注解用于标识一个控制器方法,并将其作为请求的处理方法。它可以用于指定请求的 HTTP 方法、请求路径和请求参数等信息。

参数:

method:用于指定请求的 HTTP 方法。 value:用于指定请求的路径。 params:用于指定请求的参数。 headers:用于指定请求的头部信息。

@Autowired

该注解用于自动装配一个 Bean 对象。它可以用于装配一个已经注册的 Bean 对象或通过自动配置创建的 Bean 对象。

参数:

required:用于指定是否必须装配成功,默认值为 true。

@Value

该注解用于从属性文件或环境变量中获取一个属性值,并将其注入到一个 Bean 对象中。

参数:

value:用于指定属性的名称。

@Configuration

该注解用于标识一个配置类,它通常用于定义 Bean 对象、配置数据源等。

参数:

value:用于指定配置类的名称。

@ComponentScan

该注解用于扫描指定包及其子包下的所有组件,并将其注册为 Bean 对象。

参数:

basePackages:用于指定要扫描的包。 includeFilters:用于指定要包含的组件。 excludeFilters:用于指定要排除的组件。

@EnableAutoConfiguration

该注解用于启用自动配置功能,它可以自动配置 Spring Boot 应用程序中需要的各种组件。

参数:

exclude:用于排除某些自动配置类。

@Repository

该注解用于标识一个数据访问对象(DAO)类,它通常用于与数据库交互。

参数:

value:用于指定 Bean 对象的名称。

@Service

该注解用于标识一个服务类,它通常用于实现业务逻辑。

参数:

value:用于指定 Bean 对象的名称。

@Controller

该注解用于标识一个控制器类,它通常用于接受和处理 HTTP 请求。

参数:

value:用于指定 Bean 对象的名称。

@ResponseBody

该注解用于指定控制器方法的返回值将作为响应正文返回给客户端。

参数:

无。

@PathVariable

该注解用于从请求路径中获取参数值,并将其注入到控制器方法的参数中。

参数:

value:用于指定参数的名称。

@RequestParam

该注解用于从请求参数中获取参数值,并将其注入到控制器方法的参数中。

参数:

value:用于指定参数的名称。 required:用于指定参数是否必须。

@ExceptionHandler

该注解用于标识一个异常处理方法,它通常用于处理控制器方法中抛出的异常。

参数:

value:用于指定要处理的异常类型。 以上就是 Spring Boot 中一些常用的核心注解及其作用和参数的介绍。在实际开发中,合理使用这些注解可以大大提高开发效率和代码可读性。

@ConfigurationProperties

该注解用于将属性文件中的属性值映射到一个 Java 类中的属性上。

参数:

prefix:用于指定属性的前缀。 ignoreUnknownFields:用于指定是否忽略未知的属性。 ignoreInvalidFields:用于指定是否忽略无效的属性。

@ConditionalOnBean

该注解用于当指定的 Bean 存在时才会创建当前 Bean。

参数:

value:用于指定依赖的 Bean 类型。

@ConditionalOnClass

该注解用于当指定的类存在时才会创建当前 Bean。

参数:

value:用于指定依赖的类类型。

@ConditionalOnProperty

该注解用于当指定的属性存在时才会创建当前 Bean。

参数:

prefix:用于指定属性的前缀。 name:用于指定属性的名称。 havingValue:用于指定属性的值。 matchIfMissing:用于指定属性是否缺失。

@ConditionalOnMissingBean

该注解用于当指定的 Bean 不存在时才会创建当前 Bean。

参数:

value:用于指定依赖的 Bean 类型。

@Transactional

该注解用于标识一个事务方法,它通常用于管理数据库事务。

参数:

propagation:用于指定事务的传播级别。 isolation:用于指定事务的隔离级别。 readOnly:用于指定事务是否只读。 timeout:用于指定事务的超时时间。

@Async

该注解用于标识一个异步方法,它通常用于处理耗时的操作。

参数:

value:用于指定异步方法的执行器名称。

@Scheduled

该注解用于标识一个定时任务方法,它通常用于定期执行一些任务。

参数:

cron:用于指定定时任务的 Cron 表达式。 fixedRate:用于指定定时任务的执行间隔时间。 fixedDelay:用于指定定时任务的延迟执行时间。 以上就是 Spring Boot 中一些常用的注解及其作用和参数的介绍。在实际开发中,合理使用这些注解可以大大提高开发效率和代码可读性,同时还能够提高应用程序的性能和稳定性。