SpringBoot常用注解

简介: SpringBoot的自动配置机制,真的是过于强大,它使我们不再需要定义样板化的配置,大大提高了程序的开发效率。
前段时间学习了SpringBoot这个快速开发框架,觉得这个框架写的真的是太优秀了,尤其是SpringBoot的自动配置机制,真的是过于强大,它使我们不再需要定义样板化的配置,大大提高了程序的开发效率。

在这点上,我需要解释的是 SpringBoot 其实是对 Spring 和 SpringMVC 框架的再封装。那么,有的小伙伴可能会有疑惑,既然不用写那么繁琐的配置文件了,那它是如何进行工作的?通俗的讲,SpringBoot 是约定优于配置 ,也就是说,SpringBoot 的自动配置主要是根据 pom.xml 中导入的依赖来进行配置,使用的时候只需要再添加几个注解就可以使用了。那么下面我就来为大家介绍 SpringBoot 中几种常见的注解,这也是我们大家必须掌握的注解。

1.@SpringBootApplication

这是 Spring Boot 最核心的注解,用在 Spring Boot 的主类上,标志着这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。其实这个注解是 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 这三个注解的组合注解,也可以用这三个注解来代替 @SpringBootApplication 注解。
@SpringBootConfiguration:标注当前类是配置类,这个注解继承自 @Configuration,并会将当前类内声明的一个或多个以 @Bean 注解标记的方法的实例注入到 Spring 的容器中,并且实例名就是方法名。
@EnableAutoConfiguration:开启 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean,这个注解会根据我们添加的组件 jar 包来完成一些默认配置。
@ComponentScan:扫描当前包及其子包下被@Component,@Controller,@Service,@Repository 注解标记的类并纳入到 Spring 容器中进行管理。等价于 xml 配置文件中的配置项。

2.@Configuration

这是 Spring 3.0 添加的一个注解,用来代替 applicationContext.xml 配置文件,所有这个配置文件里面能做到的事情都可以通过这个注解所在类来进行注册。

3.@Component

泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

4.@Import

这是 Spring 3.0 添加的新注解,用来导入一个或者多个由 @Configuration 注解修饰的类。

5.@ImportResource

这是 Spring 3.0 添加的新注解,用来导入一个或者多个 Spring 配置文件。这对 Spring Boot 兼容老项目非常有用,因为有些配置无法通过 Java Config 的形式来配置,就只能依靠于这个注解来导入。

6.@Autowired

这应该是我们最熟悉也是最常用的注解,是 Spring 的自动装配,这个注解可以用到构造器,变量域,方法,注解类型上。当我们需要从 Spring 的 bean 工厂中获取一个 bean 时,Spring 就会自动为我们装配该 bean 中标记为 @Autowired 的元素。

7.@Controller

用于标注控制层组件

8.@Service

用于标注业务层组件。

9.@Repository

用于标注数据访问组件,即 DAO 组件。

10.@RequestMapping

RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

11.@ResponseBody

支持将返回值放在response内,而不是一个页面,通常用户返回json数据,一般标注在返回值旁或者是方法上。

12.@RestController

该注解为一个组合注解,相当于 @Controller 和 @ResponseBody 的组合,注解在类上,意味着,该 Controller 的所有方法都默认加上了 @ResponseBody。

13.@Transactional

通过这个注解可以声明事务,可以添加在类上或者方法上。

14.@Bean

注解在方法上,声明当前方法的返回值为一个 bean,替代 xml 中的方式。

15.@Conditional

Spring 4.0 中可以使用此注解定义条件化的 bean,通过实现 Condition 接口,并重写 matches 方法,从而决定该 bean 是否被实例化。

这15个注解都是 SpringBoot 中比较常用的注解,我希望大家可以完全掌握,面试的时候也是很有可能被问到的。
目录
相关文章
|
17天前
|
Java 开发者 Spring
【SpringBoot 异步魔法】@Async 注解:揭秘 SpringBoot 中异步方法的终极奥秘!
【8月更文挑战第25天】异步编程对于提升软件应用的性能至关重要,尤其是在高并发环境下。Spring Boot 通过 `@Async` 注解简化了异步方法的实现。本文详细介绍了 `@Async` 的基本用法及配置步骤,并提供了示例代码展示如何在 Spring Boot 项目中创建与管理异步任务,包括自定义线程池、使用 `CompletableFuture` 处理结果及异常情况,帮助开发者更好地理解和运用这一关键特性。
84 1
|
26天前
|
XML Java 测试技术
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
这篇文章介绍了Spring5框架的三个新特性:支持@Nullable注解以明确方法返回、参数和属性值可以为空;引入函数式风格的GenericApplicationContext进行对象注册和管理;以及如何整合JUnit5进行单元测试,同时讨论了JUnit4与JUnit5的整合方法,并提出了关于配置文件加载的疑问。
Spring5入门到实战------17、Spring5新功能 --Nullable注解和函数式注册对象。整合JUnit5单元测试框架
|
14天前
|
缓存 Java 数据库连接
Spring Boot奇迹时刻:@PostConstruct注解如何成为应用初始化的关键先生?
【8月更文挑战第29天】作为一名Java开发工程师,我一直对Spring Boot的便捷性和灵活性着迷。本文将深入探讨@PostConstruct注解在Spring Boot中的应用场景,展示其在资源加载、数据初始化及第三方库初始化等方面的作用。
42 0
|
26天前
|
Java 数据安全/隐私保护 Spring
揭秘Spring Boot自定义注解的魔法:三个实用场景让你的代码更加优雅高效
揭秘Spring Boot自定义注解的魔法:三个实用场景让你的代码更加优雅高效
|
26天前
|
XML Java 数据库
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
这篇文章是Spring5框架的实战教程,详细介绍了事务的概念、ACID特性、事务操作的场景,并通过实际的银行转账示例,演示了Spring框架中声明式事务管理的实现,包括使用注解和XML配置两种方式,以及如何配置事务参数来控制事务的行为。
Spring5入门到实战------15、事务操作---概念--场景---声明式事务管理---事务参数--注解方式---xml方式
|
26天前
|
XML 数据库 数据格式
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
这篇文章是Spring5框架的实战教程的终结篇,介绍了如何使用注解而非XML配置文件来实现JdbcTemplate的数据库操作,包括增删改查和批量操作,通过创建配置类来注入数据库连接池和JdbcTemplate对象,并展示了完全注解开发形式的项目结构和代码实现。
Spring5入门到实战------14、完全注解开发形式 ----JdbcTemplate操作数据库(增删改查、批量增删改)。具体代码+讲解 【终结篇】
|
27天前
|
XML Java 数据格式
Spring5入门到实战------8、IOC容器-Bean管理注解方式
这篇文章详细介绍了Spring5框架中使用注解进行Bean管理的方法,包括创建Bean的注解、自动装配和属性注入的注解,以及如何用配置类替代XML配置文件实现完全注解开发。
Spring5入门到实战------8、IOC容器-Bean管理注解方式
|
27天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
29 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
14天前
|
监控 安全 Java
【开发者必备】Spring Boot中自定义注解与处理器的神奇魔力:一键解锁代码新高度!
【8月更文挑战第29天】本文介绍如何在Spring Boot中利用自定义注解与处理器增强应用功能。通过定义如`@CustomProcessor`注解并结合`BeanPostProcessor`实现特定逻辑处理,如业务逻辑封装、配置管理及元数据分析等,从而提升代码整洁度与可维护性。文章详细展示了从注解定义、处理器编写到实际应用的具体步骤,并提供了实战案例,帮助开发者更好地理解和运用这一强大特性,以实现代码的高效组织与优化。
28 0
|
1月前
|
XML 前端开发 Java
Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)
Spring MVC提供了灵活多样的参数接收方式,可以满足各种不同场景下的需求。了解并熟练运用这些基本的参数接收技巧,可以使得Web应用的开发更加方便、高效。同时,也是提高代码的可读性和维护性的关键所在。在实际开发过程中,根据具体需求选择最合适的参数接收方式,能够有效提升开发效率和应用性能。
66 3