④. @Component、@Indexed、@Order
①. @Component:这个用来编写Spring/WEB应用的时候,标注在一个类上,那么这个类就自动添加到容器中
②. @Indexed:这个是Spring5.0里面新加入的一个注解,它是一个加速注解,也就是说默认Spring容器一启动的时候,所有的组件才会进行加载创建对象,如果有大量的组件经常要用到,又不想等Spring容器启动的时候才加载并创建对象,那么就可以标注@Indexed 这个注解,这样的话就相当于给组件直接生成相关的class缓存并全部放好,那么以后Spring容器一旦启动就直接能用了,就不用再走整个Spring容器的启动流程
③. @Order:这个是组件之间的顺序,设置的数字越小,优先级就会越高,一旦优先级越高就优先创建这个组件
⑤. @ComponentScan、@Conditional、@Import
①. @ComponentScan:这个大家估计都知道了,就是包扫描,可以批量扫描某一个包下的所有组件(该包和下面的子包)
②. @Conditional :这个在SpringBoot里面的核心注解,他是根据有没有满足相关条件,再来进行组件注入
③. @Import:这个是用于导入第三方的jar的,如果自己来写注解,那么这些自己写的注解只能标注在自己的类上,但是引入别人开发好的第三方包,并且这个第三方包这个源码在包里面已经压缩好了,所以就可以使用@Import 这个注解来把第三方的包里面的组件导入到容器中
⑥. @ImportResource、@Profile、@PropertySource、@PropertySources
①. @ImportResource:这个是用于导入以前的Xml配置文件
②. @Profile:这个是在SpringBoot里面的多环境激活
③. @PropertySource:这个是导入外部的properties配置文件
④. @PropertySources :跟@PropertySource的组件注解
⑦. @Autowired、@Qualifier、@Value
- ①. @Autowired:都是组件的装配功能
- ②. @Qualifier:都是组件的装配功能
- ③. @Value
获取环境变量里面的值或者是获取配置文件中的值 @Value("#{xxx}") @Value("${xxx}")
#:可以对象调用方法
$:代表的是一个取值