首页 > Java资讯 > Java架构师视频教程,Springboot框架学习

Java架构师视频教程,Springboot框架学习

更新时间:2020-11-06 15:31 浏览145次 来源:动力节点

springboot框架是为了能够帮助spring开发者快速高效的构建一个基于spring框架及spring生态体系的应用的解决方案,它是对“约定优于配置”这个理念下的一个最佳实现方案,因此它是一个服务于框架的框架,服务的范围是简化配置文件。


Java架构师视频教程


约定优于配置指的是什么?


(1),maven目录:默认打包方式为jar,默认新建好了resources资源文件夹


(2),spring-boot-web-start:包含了webmvc相关的依赖以及内嵌了tomcat容器,使得构建一个web应用更加简单


(3),默认提供了application.properties/yml文件


(4),默认通过spring.profiles.active属性来决定运行环境时读取的配置文件


(5),EnableAutoConfiguration默认对于依赖的start进行自动装配


SpringBootApplication由哪几个注解组成,这几个注解分别表示什么作用?


(1),Configuration:将一个类申明为一个IoC容器配置类,该类中任何标注了 Bean的方法,它的返回值都会作为Bean定义注册到Spring容器中,方法名默认称为这个Bean的id


(2),ComPonentScan:默认扫描当前包下的被 Component、 Repository、 Service、 Controller标识的类到IoC容器中。


(3),EnableAutoConfiguration:帮助springboot将所有符合条件的configuration配置加载到springboot创建的IoC容器中。其实这里借助了spring框架提供的一个工具类:SpringFactoriesLoader的支持,以及用到了spring提供的条件注解Conditional


分析:我们发现它有一个Import注解,那么这个注解是干嘛的呢?


第一:基于普通的Bean或者带有Configuration注解的Bean进行注入


第二:实现ImportSelector接口进行动态注入


第三:实现ImportBeanDefinitionRegistrar接口进行动态注入


Java架构师视频教程


springboot自动装配的实现原理


我理解的自动装配是:其实EnableAutoConfiguration上有个Import注解,这个注解里面包含了一个实现了ImportSelector的类,在它里面的selectImports方法可以选择注入需要的Bean,


分析塔源码可以看到,


第一步:扫描META-INF/spring-autoconfigure-metadata.properties文件,它里面定义了很多的Conditional条件,例如ConditionalOnClass


第二部:扫描META-INF/spring.factories,结合前面扫描到的进行过滤,原因是很多 Configuration其实是依托于其它的框架来加载的,如果当前classpath下没有相关的依赖,则意味着这些类没必要加载,所以通过这种条件过滤可以有效的减少 Configuration类的数量从而降低启动时间。


springboot中的spi机制的原理


很多开源框架库里都直接或间接使用了Java的SPI机制。比如Spring就有类似的SPI机制,通过SpringFactoriesLoader代替JDK中ServiceLoader,通过META-INF/spring.factories文件代替META-INF/service目录下的描述文件,具体实现步骤不同,但原理都是使用Java的反射机制。META-INF/spring.factories文件,根据key来加载对应的类到springIoC容器中。


动力节点Java培训的SpringBoot学习教程,实现原理剖析SpringBoot可以根据定义在classpath下的类,自动的给你生成一些Bean,并加载到Spring的 Context中,自动配置充分的利用了Spring 4.0的条件化配置特性,能够自动配置特定的Spring bean,用来启动某项特性;有了SpringBoot的自动化配置,我们可以灵活的自定义我们自己的自动配置,当应用需要该功能时,只需要简单的依赖该jar包即可,同时Spring Boot为我们提供的条件注解,同样的代码可以灵活适应各种环境,让我们跟着动力节点的cat老师学习一下吧:


课程学习目录


1.架构师教程-Spring中的 Import注解是什么

2.架构师教程-Spring中的 Conditional注解是什么

3.架构师教程-SpringBoot是如何实现自动装配的

4.架构师教程-如何自己实现一个spring-boot-starter(上)

5.架构师教程-如何自己实现一个spring-boot-starter(中)

6.架构师教程-如何自己实现一个spring-boot-starter(下)

7.架构师教程-SpringBoot自动装配实现流程总结梳理


Java架构师视频教程


以上就是动力节点java培训机构的小编针对“Java架构师视频教程,Springboot框架学习”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


热门课程推荐

全部班型支持免费试学

动力节点在线报名表(此信息已加密,请放心填写)

返回顶部