乐彩网站源码网站建设,做网站的时候用的什么框架,天猫网站设计教程,旅游网站设计源代码优点#xff1a;自动装配#xff0c;起步依赖
起步依赖
原理就是maven的依赖传递
【A依赖B、B依赖C….#xff0c;则我导入依赖A的时候#xff0c;B#xff0c;C都会被maven加载进来】 重点看看自动装配
概念#xff1a;
当Spring容器启动后#xff0c;一些配置类、…优点自动装配起步依赖
起步依赖
原理就是maven的依赖传递
【A依赖B、B依赖C….则我导入依赖A的时候BC都会被maven加载进来】 重点看看自动装配
概念
当Spring容器启动后一些配置类、bean对象就自动存入到IOC容器中不需要我们手动去声明从而简化了开发省去了繁琐的配置操作。
SpringBoot原理、SpringBoot自动配置原理
在Spring Boot项目中的引导类上有一个注解SpringBootApplication这个注解是对三个注解进行了封装分别是
SpringBootConfiguration ——表明当前是配置类因此我们也可以在启动类下去声明第三方Bean对象
EnableAutoConfiguration——实现自动化配置的核心注解
ComponentScan——进行扫包【范围默认为当前启动类所在包及其子包因此如果在这个范围外配置了Bean、Component注解的类是不会被自动装配成Bean的】
自动装配的几个方案
通过ComponentScan添加扫描的范围【比较繁琐需要知道第三方库所在的包名如果库多了我还需要一个一个手动去添加】
通过Import导入SpringBoot帮我们封装好了。EnableAutoConfiguration注解
【封装了Import注解】
含义是导入了这个类【实现了ImportSelector接口所以必须实现selectImports方法】 该方法的返回值为String类型数组即存放的是需要自动装配的类名 返回值为存放字符串的List集合通过读取META-INF/spring.factories【springBoot3.0版本之后开始不建议用了但是还有在3.2版本之后废弃】 以及
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration EnableAutoConfiguration注解基于Import注解导入对应的配置选择器内部就是读取了该项目和该项目引用的Jar包的classpath路径下META—INFO/ spring.factories文件中所配置的类的全类名。在这些配置类中所定义的Bean会根据条件注解决定是否需要将其导入到Spring容器中
条件注解有
ConditionalOnClass判断是否有对应的字节码class文件如果有则加载当前类把这个配置类的所有Bean放入Spring容器使用
ConditionalOnMissingBean判断环境中是否有对应bean才注册bean到IOC容器...等等