基础springboot扫描讲解
基础springboot扫描讲解
springboot就是一个第三方提供的一个自动装配框架。可以快速的帮助开发,构建架构,Tomcat内置运行,打包完成后为一个jar,java -jar springbootXXXXXX.jar 就可以运行。
springboot自动装配的原理,创建一个main入口,在类上注解@SpringBootApplication,这就完成了springboot的基本配置,前提是pom.xml配置好依赖
@SpringBootApplication是如何进行自动装配?
点击@SpringBootApplication
进入@SpringBootApplication注解,我们可以看到有几个@注解:
@Target,@Retention,@Documented,@Inherited这几个注解不多说
主要讲:@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan
点击进入@SpringBootConfiguration
看到什么,@configuration,说明什么,说明@SpringBootApplication本身就是一个ioc容器配置类,可以进行自动装配,在写代码时配置的@Controller,@Service,@Component,@Repository自动扫描配置到ioc容器中,供springboot调用。
进入@EnableAutoConfiguration
@AutoConfigurationPackage:自动配置包,扫描指定的package包
@Import:导入.class,将类导入ioc容器
@Import导入了一个AutoConfigurationImportSelector.class,AutoConfigurationImportSelector有一个方法selectImports(),这个方法是返回的数组中是需要自动装配的全限定类名, 底层会根据数组中的全限定类名将这些类进行注入.
selectImports下面有一个方法List configurations = getCandidateConfigurations(annotationMetadata,
attributes);进入getCandidateConfigurations,可以看它去找配置文件
表面了在orgspringframeworkootspring-boot-autoconfigure.0.2.RELEASEspring-boot-autoconfigure-2.0.2.RELEASE.jar ,META-INF/spring.factories有一个配置文件
springboot就扫描这个配置文件下的包名,进行自动装配,注入ioc。
相关文章
- SpringBoot多模块搭建,依赖管理
- 补习系列(16)-springboot mongodb 数据库应用技巧
- springboot 使用c3p0数据库连接池
- springboot学习章节代码-spring基础
- SpringBoot 如何进行对象复制
- Springboot扩展点之@PostConstruct
- SpringBoot 异常回滚 事务的使用___Springboot @Transactional 事务不回滚
- Springboot访问jsp页面但是却变成下载该页面
- SpringBoot升级到2.0后默认时间格式变化_springboot接收date类型参数
- SpringBoot微服务项目打包成Docker镜像详解
- 基于Java+SpringBoot超市管理系统设计与实现
- Springboot怎么快速集成Redis?
- 慕课2、Springboot基础
- 【Spring Boot】SpringBoot项目jar、war包启动解析
- springboot+jwt+shiro+vue+elementUI+axios+redis+mysql简易博客项目
- springboot使用jxls导出excel___(万能通用模板)--- SpringBoot导入、导出Excel文件___SpringBoot整合EasyExcel模板导出Excel
- SpringBoot+Nacos+Dubbo+Gateway 微服务