①. Spring核心注解概览
- ①. Spring核心注解概述
②. 注意:@Indexed 需要引入依赖
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-indexer</artifactId> <optional>true</optional> </dependency>
②. @Bean、@Primary、@DependsOn
①. @Bean:它是可以标注在一个方法上,并且方法返回的这个对象就会注册到Spring容器中
②. @Primary:同样的这些组件,比如两个方法都返回了数据源DataSource,可以给某一个方法上面标注一个@Primary这样的话,就能够标识这是一个主要组件,那么就默认使用这个标注了@Primary这个方法的组件
③. @DependsOn :这个是声明组件之间的依赖关系的,比如A要创建,@DependsOn B跟C,那么就是创建A这个组件的时候,就会把B跟C先提前准备好
③. @Lazy、@Scope 、@Configuration①. @Lazy:组件的懒加载,也就是说在用的时候才进行创建,不用的话不创建。因为默认的组件,Spring容器一启动,容器中的所有组件都会进行创建
②. @Scope
声明组件的作用范围,常用的作用范围是:SCOPE_PROTOTYPE(原型), SCOPE_SING LETON(单例)
单例就是获取到的东西跟他原本的是一模一样的,独一份的
而原型就是有一个本体,但你获取的都是这个本体的克隆对象,就跟这个本体不是一个对象,但是内容是一样的
如果学过原型设计模式和单例设计模式就知道这两者的用途
③. @Configuration:这个注解在SpringBoot大量使用到,这个注解用来标注一个类,就说明这个类是一个配置类来替换以前的Spring的Xml配置文件