优秀的编程知识分享平台

网站首页 > 技术文章 正文

总结Spring Boot中重要的注解(spring boot常用的注解)

nanyue 2024-10-17 11:15:27 技术文章 6 ℃

1、@Configuration

@Configuration注解是一个非常重要的组件,它用于定义配置类,这些类可以包 含一个或多个用@Bean注解标记的方法,用于生成Spring容器中的bean。

2、@EnableAutoConfiguration

@EnableAutoConfiguration是Spring Boot的核心注解之一,它的作用是启用Spring Boot的自动配置机制。这个注解极大地简化了基于Spring的环境搭建和配置工作,使得开发者能够快速启动和运行Spring应用程序。

3、@Bean

@Bean注解用于告诉Spring框架,使用注解的方法需要生成一个bean,并将其注册到Spring的应用上下文中。通常,这个方法会返回一个对象实例,该对象随后可以被注入到使用@Autowired注解的其他bean中。

4、@Scope

在Spring Boot中,@Scope注解用于指定bean的作用域(scope)。作用域定义了Spring容器如何管理bean的生命周期以及bean实例的创建方式。包括单例(Singleton)作用域、原型(Prototype)作用域、请求(Request)作用域、会话(Session)作用域、应用(Application)作用域、WebSocket作用域以及自定义作用域(通过实现org.springframework.beans.factory.config.Scope接口来创建自定义作用域)。

5、@Lazy

在Spring Boot中,@Lazy注解用于控制bean的加载时机。默认情况下,Spring容器会在启动时立即加载并创建所有的bean,但有时我们可能希望某些bean在需要时才进行加载,以延迟启动时间或减少启动时的资源消耗。@Lazy注解正是为此而设计。

6、@Autowired

@Autowired注解是Spring框架中用于依赖注入的一个非常重要的注解。它可以自动注入Spring容器中的bean,从而减少手动创建和装配对象的需要。

7、@Qualifier

@Qualifier注解是Spring框架中用于依赖注入的一个辅助性注解,它与@Autowired注解一起使用,用于解决自动装配时的歧义问题。当有多个同类型的bean可供装配时,@Qualifier注解可以帮助指定具体要装配的bean。

8、@Component

@Component是Spring框架中用于声明组件或者服务的注解,它表明一个类是受Spring管理的组件。被标记的类可以被自动扫描并注册为Spring容器的bean。

9、@Service

@Service注解是Spring框架中用于标记服务层组件的注解,它是@Component注解的一个特化形式。@Service注解的目的是为了明确地表明某个类是一个服务组件,从而提供更好的代码可读性和组织性。由于@Service注解的类是Spring容器中的bean,它们可以很容易地被Spring测试框架进行测试,例如使用@MockBean注解来模拟依赖的bean。

10、@Repository

Repository注解是Spring Data模块中用于声明数据访问层组件的注解,它是@Component注解的一个特化形式。@Repository注解的目的是为了明确地表明某个类是用于数据访问的,通常与数据库或其他形式的数据存储进行交互。

11、@Value

@Value注解是Spring框架中用于注入属性值的一个注解,它可以将配置文件、环境变量或者JVM系统属性中的值注入到Spring管理的bean的字段、方法参数或方法返回值中。

12、@ConfigurationProperties

@ConfigurationProperties注解是Spring Boot框架中用于将外部配置自动映射到一个Java对象的注解。它主要用于将配置文件中的属性绑定到一个类上,而不是传统的使用@Value注解逐个绑定。当你有一个配置文件,其中包含多个相关属性时,使用@ConfigurationProperties可以避免使用大量的@Value注解和配置键的硬编码。

13、@RestController

@RestController注解是Spring MVC中用于创建RESTful Web服务的一个便捷注解。它是@Controller和@ResponseBody注解的组合,用于声明一个类作为RESTful控制器,并指示所有方法都默认使用响应体返回数据,而不是视图名。

14、@RequestBody

@RequestBody注解是Spring MVC中用于处理HTTP请求体的一个注解。它通常与@RestController或@Controller注解一起使用,用于指示Spring框架将HTTP请求体中的原始数据绑定到控制器方法的参数上。它通常用于接收客户端发送的数据,如JSON、XML等格式。

15、@PathVariable

@PathVariable注解是Spring MVC中用于映射URL中的参数到控制器方法的注解。它可以将URL模板变量绑定到方法的参数上,从而使得方法能够接收到来自URL的动态信息。

16、@RequestParam

@RequestParam注解是Spring MVC中用于将Web请求的参数绑定到控制器处理方法的参数上的注解。它支持从不同的请求参数源(如查询字符串、表单数据等)中获取数据。

17、@RequestHeader

@RequestHeader注解是Spring MVC中用于从HTTP请求头中获取值并将其绑定到控制器方法的参数上的注解。它允许开发者方便地读取和处理HTTP请求头信息。并且还支持接收具有相同名称的多个请求头,并将其映射到一个数组或集合中

18、@RequestMapping

@RequestMapping注解是Spring MVC中用于定义请求映射的核心注解。它将HTTP请求映射到控制器的处理方法上,是创建Web应用程序时最常用的注解之一。还可以指定请求的HTTP方法(如GET、POST、PUT、DELETE等)

19、@ExceptionHandler

@ExceptionHandler注解是Spring框架中用于声明异常处理方法的注解。它可以指定某些方法来处理特定类型的异常,或者处理控制器方法中抛出的所有未捕获异常。

20、@ControllerAdvice

@ControllerAdvice注解是Spring框架中用于全局异常处理和响应的注解,它允许开发者将多个@ExceptionHandler方法集中在一个或多个类中,从而实现跨控制器的异常处理。这有助于集中管理异常处理逻辑,提高代码的可维护性。

21、@Valid

@Valid注解是Java Bean验证API(JSR 380)中的一个重要注解,用于在对象上执行验证。在Spring Boot中,它通常与Spring MVC的@Controller和@RestController注解一起使用,以确保传入的数据符合预定义的验证约束。它通常与验证注解(如@NotNull、@Size、@Pattern等)结合使用。

22、@Entity

@Entity注解是Java Persistence API(JPA)中用于标识实体类的一个注解,它表明一个类是数据库中的一个实体,并且可以与数据库表建立映射关系。在Spring Boot中,JPA实体类通常与@Entity注解一起使用,以定义实体与数据库表之间的映射。

23、@Table

@Table注解是Java Persistence API(JPA)中用于定义实体与数据库表之间映射关系的一个注解。在Spring Boot中,当使用JPA进行数据库操作时,@Table注解通常用于实体类上,以指定实体对应的数据库表名和其他表级别的属性。

24、@Query

@Query注解是Spring Data JPA中用于执行自定义查询的注解。它允许你直接在仓库接口(Repository)的方法上定义JPQL(Java Persistence Query Language)或本地SQL查询,而无需编写实现类。

25、@PostConstruct

@PostConstruct注解是一个JSR-250规范中的注解,用于指定一个方法在依赖注入完成后执行。在Spring Boot中,这个注解通常用于初始化操作,例如初始化数据、加载配置或者执行一些启动后的清理工作。

26、@PreDestroy

@PreDestroy注解是Java EE 7规范中定义的注解,用于指定一个方法在bean销毁之前执行。在Spring Boot中,这个注解通常用于执行清理操作,例如关闭资源、释放连接或者执行一些在应用程序停止前必须完成的任务。

总结

好了,今天的内容就分享到这里。若这篇文章能给您带来些许帮助或启发,请不吝关注我的头条号,并给予点赞、留言和转发。您的每一次支持,都是我继续创作的最大动力!感谢您的陪伴,期待与您共同成长。

Tags:

最近发表
标签列表