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 中比较常用的注解,我希望大家可以完全掌握,面试的时候也是很有可能被问到的。
目录
相关文章
|
5天前
|
XML Java 数据格式
SpringBoot入门(8) - 开发中还有哪些常用注解
SpringBoot入门(8) - 开发中还有哪些常用注解
21 0
|
1月前
|
Java Spring 容器
如何解决spring EL注解@Value获取值为null的问题
本文探讨了在使用Spring框架时,如何避免`@Value("${xxx.xxx}")`注解导致值为null的问题。通过具体示例分析了几种常见错误场景,包括类未交给Spring管理、字段被`static`或`final`修饰以及通过`new`而非依赖注入创建对象等,提出了相应的解决方案,并强调了理解框架原理的重要性。
116 4
|
24天前
|
Java Spring
在使用Spring的`@Value`注解注入属性值时,有一些特殊字符需要注意
【10月更文挑战第9天】在使用Spring的`@Value`注解注入属性值时,需注意一些特殊字符的正确处理方法,包括空格、引号、反斜杠、新行、制表符、逗号、大括号、$、百分号及其他特殊字符。通过适当包裹或转义,确保这些字符能被正确解析和注入。
|
12天前
|
XML JSON Java
SpringBoot必须掌握的常用注解!
SpringBoot必须掌握的常用注解!
36 4
SpringBoot必须掌握的常用注解!
|
1月前
|
XML Java 数据格式
Spring从入门到入土(bean的一些子标签及注解的使用)
本文详细介绍了Spring框架中Bean的创建和使用,包括使用XML配置文件中的标签和注解来创建和管理Bean,以及如何通过构造器、Setter方法和属性注入来配置Bean。
66 9
Spring从入门到入土(bean的一些子标签及注解的使用)
|
14天前
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
54 2
|
14天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
28 1
|
29天前
|
架构师 Java 开发者
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
在40岁老架构师尼恩的读者交流群中,近期多位读者成功获得了知名互联网企业的面试机会,如得物、阿里、滴滴等。然而,面对“Spring Boot自动装配机制”等核心面试题,部分读者因准备不足而未能顺利通过。为此,尼恩团队将系统化梳理和总结这一主题,帮助大家全面提升技术水平,让面试官“爱到不能自已”。
得物面试:Springboot自动装配机制是什么?如何控制一个bean 是否加载,使用什么注解?
|
9天前
|
存储 安全 Java
springboot当中ConfigurationProperties注解作用跟数据库存入有啥区别
`@ConfigurationProperties`注解和数据库存储配置信息各有优劣,适用于不同的应用场景。`@ConfigurationProperties`提供了类型安全和模块化的配置管理方式,适合静态和简单配置。而数据库存储配置信息提供了动态更新和集中管理的能力,适合需要频繁变化和集中管理的配置需求。在实际项目中,可以根据具体需求选择合适的配置管理方式,或者结合使用这两种方式,实现灵活高效的配置管理。
8 0
|
1月前
|
XML Java 数据库
Spring boot的最全注解
Spring boot的最全注解