TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货springboot学习知识总结思维导图

springboot学习知识总结思维导图

  收藏
  分享
免费下载
免费使用文件
U544286137 浏览量:132023-09-04 13:40:07
已被使用0次
查看详情springboot学习知识总结思维导图

JAVA语言springboot开发工具框架知识总结

树图思维导图提供 springboot学习知识总结 在线思维导图免费制作,点击“编辑”按钮,可对 springboot学习知识总结  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:c8650cd0f13ffbdaefe10516187b70a3

思维导图大纲

springboot学习思维导图模板大纲

pom.xml依赖

param父项目启动器依赖了一个dependenci里面定时了所有依赖管理,及各种依赖的jar版本

导出一个可运行的jar 需要配置maven插件,里面会再lib里面引入tomcat相关的jar

springboot 抽取出很多所谓启动器的jar依赖,如果需要使用某些功能,就需要引入这些对于功能的启动jar依赖

springweb相关的启动器 jar

里面就有springmvc, josn转成之类的 jar

email 相关的启动器 jar

redis相关的启动器 jar

.....

自动配置注解(重要) @EnableAutoConfiguration

主要是将bean类自动装配进容器中

1.SpringFactoriesLoader.loadFactoryNames() 扫描jar路径下的所有 META-INF/spring.factories

spring.factories 也可以用来加载外部类或者组件

2.把扫描的对象包装成Properties对象

3.再从prpperties中获取到EnableAutoConfiguration.class类对应的所有值,添加进容器中给容器管理

4.而EnableAutoConfiguration 加载的大量的自动配置类 都是XXXXautoConfigXX之类的我们需要的功能一定要有相关的自动配置类

举例:这些类都@Configuration @bean修饰了 也就是说他们会去加载进容器

并且里面有注解@enableConfigrationProperties 去加载一些配置,然后通过构造的方式去获取Properties的值,也就是我们springBoot配置的值,就可以给这些自动装配类配置我们想配置的参数,在application.properties中,不配就使用默认的了

配置一般是加载的文件.属性

细节:@conditional相关注解 是用来判断是否满足条件,满足条件才将改对象bean注入到容器,也就是说,并不是所有的自动装配类都会去装配相关对象,因为可能不满足条件

那如何确定自动配置类生效?

通过在配置文件中配置 debug=true 就可以再控制台看到相关启动类加载日志

@Configuration 和 @Component 区别

Component 没有代理,会直接在容器中创建一个新的bean对象

Configuration 被CGlib代理 保证容器对象的唯一性,如果容器存在改对象就不会创建,@Configuration注解中是包含@Component注解的

@PropertiesRource

获取某个文件的value值

@ImportRource

导入配置文件到容器中,也就是读取xml之类的配置文件

springboot推荐方式:使用配置类@Configuration @bean给容器添加对象

@ConfigurationProperties(prefix = "redis")

作用在类上,用于注入Bean属性,然后再通过当前Bean获取注入值:

激活指定:profile 可以用来配置不同环境不同配置参数,适用于多环境部署

application.properties 可以配置多个,并且高优先级覆盖低优先级,也可以组合生效 config文件下是高优先级

日志

logback-spring.xml

由SpringBoot加载,可以配置springProfile 来定义不同环境打印不同的日志

logback.xml 由日志框架自动加载

需要用什么类型的日志框架,就引入相关jar包和加入相关配置文件即可

springboot web开发

自动配置原理

自动配置注解(重要) @EnableAutoConfiguration

主要是将bean类自动装配进容器中

1.SpringFactoriesLoader.loadFactoryNames() 扫描jar路径下的所有 META-INF/spring.factories

spring.factories 也可以用来加载外部类或者组件

2.把扫描的对象包装成Properties对象

3.再从prpperties中获取到EnableAutoConfiguration.class类对应的所有值,添加进容器中给容器管理

4.而EnableAutoConfiguration 加载的大量的自动配置类 都是XXXXautoConfigXX之类的我们需要的功能一定要有相关的自动配置类

举例:这些类都@Configuration @bean修饰了 也就是说他们会去加载进容器

并且里面有注解@enableConfigrationProperties 去加载一些配置,然后通过构造的方式去获取Properties的值,也就是我们springBoot配置的值,就可以给这些自动装配类配置我们想配置的参数,在application.properties中,不配就使用默认的了

细节:@conditional相关注解 是用来判断是否满足条件,满足条件才将改对象bean注入到容器,也就是说,并不是所有的自动装配类都会去装配相关对象,因为可能不满足条件

那如何确定自动配置类生效?

通过在配置文件中配置 debug=true 就可以再控制台看到相关启动类加载日志

静态资源合并

webMvcAutoConfiguration启动器中注册了handel类会去加载配置好的路径

classpath:/resource/ ,classpath:/static/ classpath:/public/下都可以访问到

模板引擎思想

html${key} +data+组合=展示

要用模板引擎,就引入相关自动装配启动jar

如何修改springBoot默认配置

1.根据@EnableAutoConfiguration自动配置注解了解到,进行bean注册的类上都有个@ConditionalOnMissingBean 判断容器里面是否有,如果有,就不去加载注册,也就是说,我们可以自己配置一个一样的,那自动配置start就不会就加载默认的(缺点:不能保存默认配置)

2.通过实现某个自动配置类中的某些配置类,然后重写相关方法即可,当然需要@Configuration 修饰 要注册到容器(意思:自动注册启动器会去注册一些类,而你要取重新需要改动的类的方法,然后再重新注册到容器中)

继承webMvcConfigurationAdapter类型 进行扩展重写 addXXXX

3.如果加载@enableMvcConfiguration 是全面接管,会导致默认的自动配置全部失效

MessageSource类 实现国际化

根据请求头带进来的区域信息 cn,us 来获取不同配置文件值返回显示

自定义注册servlet,Filter,Interice之类的 都有一个类叫什么 xxxRegistrationBean 之类的 @bean注册即可以用 这些都会让你传入你写的myServlet 或者MyFiLter

相关思维导图模板

【全面质量管理】全面质量管理的三个发展阶段思维导图

树图思维导图提供 【全面质量管理】全面质量管理的三个发展阶段 在线思维导图免费制作,点击“编辑”按钮,可对 【全面质量管理】全面质量管理的三个发展阶段  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:5f26a3b8d7e6315b42053abcbc097dd9

辨百草学习单思维导图思维导图

树图思维导图提供 辨百草学习单思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 辨百草学习单思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:a2f0a34a73bff04fce8d41cbf3eb9af4