一,@AutoConfigurationPackage
该注解表示自动配置的包扫描的路径,
工作原理:该注解会动态的获取主启动类当前的包路径,之后开启包扫描的机制。
知识点:以后写代码都应该在主启动类的同包以及子包中。
=======================================================================
二,@Configuration,
该注解一般标识类文件,告知springBoot程序,
这个类是用来整合第三方框架/配置的。
=======================================================================
三,@Import(AutoConfigurationImportSelector.class)
知识回顾:Spring Boot使用体现了“开箱即用”的思想,用户引入jar包之后可以
直接使用(少量配置).
思考:dependencies代表程序的依赖项,(将其他的包加载到自己的项目中),并且
只是加载不负责执行。
流程说明(重点):当spring Boot主启动类项执行时,内部会加载@import,该
注解的作用就是根据依赖信息,扫描加载进来的启动器,Spring Boot内部有N多个
启动器,根据Spring Boot内部的配置信息,依次加载执行,当匹配了用户添加的
启动器之后,程序负责实例化框架,如果匹配不到,则继续向下执行,最终SpringBoot
程序加载成功。
---------------------------------------------------------------------------------------------------------------------------
关于依赖的考题
问题:用户暂时不需要数据库的配置,问:能否先行添加数据源的启动项??
总结:Spring Boot项目中的依赖包尤其启动项,添加时慎重,如果需要添加启动器,
则必须包装配置完整,否则程序启动必然失败。
=====================================================================
四,@Configuration +@Bean
1.什么是bean。
被spring管理的对象就是bean.
2.@Bean注解的作用。
将方法的返回值对象交给Spring管理,
3.Spring如何管理对象?
数据结构:Map集合,K,V结构。
K:对象的ID
V:实例化之后的对象
=====================================================================
五,测试类原理说明
原理说明:
1.当测试类执行时,会根据spring Boot的配置,动态启动Spring容器。
2.当spring容器启动时,会加载所有的注解和配置类,最终将所有的对象交给spring容器管理。
3.@SpringBoot Test通过这个注解,可以动态的从spring容器中获取对象。
======================================================================