摘要:好久没有写博客了,由于最近管理项目事情实在是太多了,代码都很少敲了,项目中有用到解析XML文件的技术点,解析XML是很老的技术,九几年标准就定了,这次抽几分钟复习一下吧。 一、什么是 XML?(来自w3school的释义) XML 指可扩展标记语言(EXtensible Markup Languag 阅读全文
posted @ 2021-06-07 22:22 温森 阅读(17) 评论(0) 推荐(0) 编辑
摘要:前言:SpringBoot默认是生成可执行的jar包,该jar包中包含tomcat,程序可以直接运行。还有一种就是我们传统的打成war包,在外置的tomcat等容器中启动程序。 下面介绍一下使用IDEA来打war的注意事项。 一、引导类需要继承SpringBootServletInitializer 阅读全文
posted @ 2020-10-11 19:32 温森 阅读(147) 评论(0) 推荐(0) 编辑
摘要:前言:前面已经介绍了自动配置的很多原理,现在我们着手自己定义一个starter。 需求:自定义redis-starter,要求当导入redis坐标后,SpringBoot自动创建Jedis的Bean。正式开始之前,我们可以查看Mybatis的起步依赖是如果实现自动配置的。我这里就省略了,大家根据之前 阅读全文
posted @ 2020-10-10 17:53 温森 阅读(841) 评论(0) 推荐(0) 编辑
摘要:前言:通过之前的自动配置原理相关介绍的文章,我们对自动配置的流程大概都很清楚了,这里我们对 @EnableAutoConfiguration 注解的实现流程进行跟踪,发掘源码中实现的原理。 一、查看@EnableAutoConfiguration 注解的定义 二、查看@Import导入的Import 阅读全文
posted @ 2020-10-10 14:42 温森 阅读(562) 评论(0) 推荐(0) 编辑
摘要:前言:通过前一篇的介绍,我们知道@Enable*底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中,而@Import提供4种用法: ①、导入Bean; ②、导入配置类; ③、导入ImportSelector实现类。一般用于加载配置文件中的类; ④、导 阅读全文
posted @ 2020-10-10 14:08 温森 阅读(652) 评论(0) 推荐(0) 编辑
摘要:前言:SpringBoot中提供了很多Enable开头的注解,这些注解都是用于动态启用某些功能的。其底层原理是使用@Import注解导入一些配置类,实现Bean的动态加载。所以,SpringBoot的自动配置,就是依赖于各种Enable开头的注解,而Enable开头的注解,又依赖于@Import注解 阅读全文
posted @ 2020-10-10 11:33 温森 阅读(533) 评论(0) 推荐(1) 编辑
摘要:前言:本篇介绍,通过利用SpringBoot的自动配置原理,实现切换内置web服务器 我们都了解,当导入web起步依赖后,SpringBoot程序启动的时候,默认加载的就是tomcat服务器,实际上SpringBoot默认为我们提供了四种(Jetty、Netty、Tomcat、Undertow)服务 阅读全文
posted @ 2020-10-09 22:15 温森 阅读(999) 评论(0) 推荐(0) 编辑
摘要:前言:通过前面两篇关于自动配置原理的剖析,我们可能对自动配置有一些了解,下面我们根据源码来具体研究SpringBoot中,是如何使用自动配置的。 一、找到IDEA目录中的External Libraries 二、继续找spring-boot-autoconfigure依赖 三、继续找到autocon 阅读全文
posted @ 2020-10-09 21:25 温森 阅读(150) 评论(0) 推荐(0) 编辑
摘要:前言:根据剖析一,继续拓展自动配置原理 新需求:将类的判断定义为动态的,判断哪个字节码文件存在可以动态指定。下面是具体的步骤。 1、新建一个自定义注解 ConditionOnClass ,顺带解释下注解的作用: @Target:注解可以作用的范围(类、方法、属性等)。 @Retention:注解生效 阅读全文
posted @ 2020-10-09 18:32 温森 阅读(131) 评论(0) 推荐(0) 编辑
摘要:前言:在使用SpringBoot开发时,发现它非常的方便,很多东西就是导入依赖,拿来即用,并不清楚其中的原理是什么,所有心理多少会有些疑惑,了解自动配置原理之后,我们可以更好的使用SpringBoot,并且学习其中的设计思想。 示例1:我们对SpringBoot引导类进行修改,通过IOC容器,获取r 阅读全文
posted @ 2020-10-09 15:23 温森 阅读(160) 评论(0) 推荐(0) 编辑