Spring Boot 相关注解及注解解释

2021年09月15日 阅读数:4
这篇文章主要向大家介绍Spring Boot 相关注解及注解解释,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

SpringBoot 项目启动时,首先基于启动入口类上的注解描述,进行自动配置并扫描指定包以及子包中的类进行加载,而后检测类上是否有spring框架中指定的注解描述

(例如@Conmonent,@Controller,@Service等)
假若有则将类交给Spring框架中的BeanFactory工厂接口的实现类对象,此工厂对象会基于反射建立Bean的实例,假如此Bean指定了生命周期方法,还会调用生命周期方法。当实例建立之后,spring框架还会基于类的做用域描述,将实例存储到不一样做用域的容器中。以实现Bean对象的科学应用。spring

启动类注解:@SpringBootApplication

后面建立的各类包路径的前缀须要和此注解所在的包路径一致框架

例如启动类所在的包为:com.cy

后面建立的包路径为:com.cy.xx.xxx测试

@Component:是Spring中用于描述Bean类的注解,用于告诉Spring这个类的实例由Spring建立,默认将对象存储到Bean池中

@SpringBootTest:告诉spring框架,此测试类交给spring管理

@Autowired:描述属性时,告诉spring框架要为此属性注入一个值

@Qualifier:对其属性或参数进行描述(配合@Autowired使用)

@Lazy:用于描述类,告诉spring框架此类支持延迟加载,一般配合单例做用域使用

@Scope:定义Bean对象做用域的注解,经常使用的值有:

singleton(单例做用域):整个内存有一份Bean实例,此实例什么时候建立与类的延迟加载特性配置有关,此实例建立后,生命周期会由spring框架管理

prototype(多例做用域):每次获取都会建立新实例,与lazy特性无关,此实例建立后,不交给spring管理,spring能够对其初始化,不负责销毁