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

相关推荐
老鼠只爱大米15 小时前
Java 设计模式之适配器模式:系统集成的万能接口
java·设计模式·适配器模式·adapter·java设计模式
一叶飘零_sweeeet15 小时前
Java+EasyExcel 打造学习平台视频学习时长统计系统
java·报表·easyexcel
Go away, devil15 小时前
Java-----集合
java·开发语言
李慕婉学姐15 小时前
Springboot智慧旅游管理系统6w63eon8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
JIngJaneIL15 小时前
旅游|内蒙古景点旅游|基于Springboot+Vue的内蒙古景点旅游管理系统设计与实现(源码+数据库+文档)
java·vue.js·spring boot·论文·旅游·毕设·内蒙古景点旅游
新之助小锅16 小时前
java版连接汇川PLC,发送数据,读取数据,保持重新链接,适用安卓
android·java·python
无糖冰可乐2118 小时前
IDEA多java版本切换
java·ide·intellij-idea
合作小小程序员小小店18 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
brucelee18618 小时前
IntelliJ IDEA 设置 Local History 永久保留
java·ide·intellij-idea
Pluto_CSND20 小时前
Java中的静态代理与动态代理(Proxy.newProxyInstance)
java·开发语言