Spring&SpringBoot常用注解

Spring 和 Spring Boot 是 Java 开发中广泛使用的框架,它们提供了许多注解来简化配置和开发过程。以下是一些 Spring 和 Spring Boot 中常用的注解:

Spring 常用注解

‌@Component‌

用于标注一个类为 Spring 容器的一个组件,Spring 会自动为这个类创建 Bean 实例。

‌@Repository‌

专门用于标注数据访问层(DAO)的组件,表示该类是用于数据库访问的。

‌@Service‌

用于标注服务层的组件,通常包含业务逻辑。

‌@Controller‌

用于标注控制层组件,如 Spring MVC 中的控制器。

‌@Autowired‌

自动注入依赖的 Bean,可以标注在字段、方法或构造器上。

‌@Qualifier‌

与 @Autowired 一起使用,用于指定要注入的 Bean 的名称或类型。

‌@Configuration‌

表示该类是一个配置类,Spring 会基于这个类生成 IoC 容器,并且可以将 @Bean 注解的方法返回的实例注入到其他组件中。

‌@Bean‌

用于标注在 @Configuration 类中的方法上,表示该方法会返回一个 Bean 实例,该实例会被注册到 Spring 容器中。

‌@Scope‌

用于指定 Bean 的作用域,如 singleton、prototype、request、session 等。

‌@Value‌

用于注入配置文件中的值到字段或方法参数中。

Spring Boot 常用注解

‌@SpringBootApplication‌

是一个组合注解,包含了 @SpringBootConfiguration、@EnableAutoConfiguration 和 @ComponentScan,用于标注主配置类,开启自动配置和组件扫描。

‌@SpringBootConfiguration‌

表示这是一个 Spring Boot 的配置类,等同于传统的 Spring 配置类上的 @Configuration 注解。

‌@EnableAutoConfiguration‌

告诉 Spring Boot 基于添加的 jar 依赖猜测你可能需要的配置,并自动进行配置。

‌@SpringBootTest‌

用于编写 Spring Boot 应用的集成测试,可以启动整个 Spring 容器。

‌@TestConfiguration‌

用于测试时的专用配置,与 @Configuration 类似,但仅用于测试环境。

‌@MockBean‌

在测试时用于替换 Spring 容器中的真实 Bean,以便进行隔离测试。

‌@Profile‌

用于指定某些 Bean 只在特定的环境下才激活,如开发环境、测试环境或生产环境。

‌@Conditional‌

根据特定的条件来决定是否创建某个 Bean,通常与自定义的条件类一起使用。

这些注解大大简化了 Spring 和 Spring Boot 应用的配置和开发过程,使得开发者可以更加专注于业务逻辑的实现,而不是框架的配置。在实际开发中,会根据需要选择和使用这些注解。

相关推荐
songbaoxian11 分钟前
ElasticSearch
java·linux·elasticsearch
非 白26 分钟前
【Java】代理模式
java·开发语言·代理模式
Good Note36 分钟前
Golang的静态强类型、编译型、并发型
java·数据库·redis·后端·mysql·面试·golang
m0_748236581 小时前
跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围
spring boot·后端·tomcat
web151173602231 小时前
Spring Boot项目中解决跨域问题(四种方式)
spring boot·后端·dubbo
我就是我3521 小时前
记录一次SpringMVC的406错误
java·后端·springmvc
向哆哆1 小时前
Java应用程序的跨平台性能优化研究
java·开发语言·性能优化
ekkcole2 小时前
windows使用命令解压jar包,替换里面的文件。并重新打包成jar包,解决Failed to get nested archive for entry
java·windows·jar
翱翔-蓝天2 小时前
Spring Boot 3 集成 RabbitMQ 实践指南
spring boot·rabbitmq·java-rabbitmq
luckilyil2 小时前
RabbitMQ学习—day6—springboot整合
spring boot·rabbitmq·java-rabbitmq