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 应用的配置和开发过程,使得开发者可以更加专注于业务逻辑的实现,而不是框架的配置。在实际开发中,会根据需要选择和使用这些注解。

相关推荐
Cloud-Future11 分钟前
Spring MVC 处理请求的流程
java·spring·mvc
小扳12 分钟前
SpringBootWeb 篇-深入了解 ThreadLocal 存在内存泄漏问题
java·开发语言·spring boot·面试
lxsy18 分钟前
spring-ai-alibaba-deepresearch 学习(十三)——ResearcherNode
java·源码分析·deepresearch·ai-alibaba
ShineWinsu39 分钟前
对于单链表相关经典算法题:206. 反转链表及876. 链表的中间结点的解析
java·c语言·数据结构·学习·算法·链表·力扣
迦蓝叶44 分钟前
JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
java·网关·ai·重构·openai·prometheus·单一职责原则
ST.J1 小时前
系统架构思考20241204
java·笔记·系统架构
TDengine (老段)1 小时前
TDengine 时间函数 TIMETRUNCATE 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
堕落年代1 小时前
Spring Boot HTTP状态码详解
spring boot·后端·http
W-GEO2 小时前
Spring Boot 源码深度解析:揭秘自动化配置的魔法
spring boot·后端·自动化
给我个面子中不2 小时前
JUC、JVM八股补充
java·开发语言·jvm