10 2020 档案
摘要:前言:SpringBoot默认是生成可执行的jar包,该jar包中包含tomcat,程序可以直接运行。还有一种就是我们传统的打成war包,在外置的tomcat等容器中启动程序。 下面介绍一下使用IDEA来打war的注意事项。 一、引导类需要继承SpringBootServletInitializer
阅读全文
摘要:前言:前面已经介绍了自动配置的很多原理,现在我们着手自己定义一个starter。 需求:自定义redis-starter,要求当导入redis坐标后,SpringBoot自动创建Jedis的Bean。正式开始之前,我们可以查看Mybatis的起步依赖是如果实现自动配置的。我这里就省略了,大家根据之前
阅读全文
摘要:前言:通过之前的自动配置原理相关介绍的文章,我们对自动配置的流程大概都很清楚了,这里我们对 @EnableAutoConfiguration 注解的实现流程进行跟踪,发掘源码中实现的原理。 一、查看@EnableAutoConfiguration 注解的定义 二、查看@Import导入的Import
阅读全文
摘要:前言:通过前一篇的介绍,我们知道@Enable*底层依赖于@Import注解导入一些类,使用@Import导入的类会被Spring加载到IOC容器中,而@Import提供4种用法: ①、导入Bean; ②、导入配置类; ③、导入ImportSelector实现类。一般用于加载配置文件中的类; ④、导
阅读全文
摘要:前言:SpringBoot中提供了很多Enable开头的注解,这些注解都是用于动态启用某些功能的。其底层原理是使用@Import注解导入一些配置类,实现Bean的动态加载。所以,SpringBoot的自动配置,就是依赖于各种Enable开头的注解,而Enable开头的注解,又依赖于@Import注解
阅读全文
摘要:前言:本篇介绍,通过利用SpringBoot的自动配置原理,实现切换内置web服务器 我们都了解,当导入web起步依赖后,SpringBoot程序启动的时候,默认加载的就是tomcat服务器,实际上SpringBoot默认为我们提供了四种(Jetty、Netty、Tomcat、Undertow)服务
阅读全文
摘要:前言:通过前面两篇关于自动配置原理的剖析,我们可能对自动配置有一些了解,下面我们根据源码来具体研究SpringBoot中,是如何使用自动配置的。 一、找到IDEA目录中的External Libraries 二、继续找spring-boot-autoconfigure依赖 三、继续找到autocon
阅读全文
摘要:前言:根据剖析一,继续拓展自动配置原理 新需求:将类的判断定义为动态的,判断哪个字节码文件存在可以动态指定。下面是具体的步骤。 1、新建一个自定义注解 ConditionOnClass ,顺带解释下注解的作用: @Target:注解可以作用的范围(类、方法、属性等)。 @Retention:注解生效
阅读全文
摘要:前言:在使用SpringBoot开发时,发现它非常的方便,很多东西就是导入依赖,拿来即用,并不清楚其中的原理是什么,所有心理多少会有些疑惑,了解自动配置原理之后,我们可以更好的使用SpringBoot,并且学习其中的设计思想。 示例1:我们对SpringBoot引导类进行修改,通过IOC容器,获取r
阅读全文
摘要:内部配置加载顺序 测试方法 一、新建一个工程,在默认的配置文件中设置端口号8081,启动程序,控制台此时显示端口号为8081 二、再新建一个config目录,结构如下 设置端口号为8082,再启动程序,可以发现端口号变为8082 三、切换IDEA显示目录视图策略为Project Files,效果如下
阅读全文
摘要:前言:在实际开发时,我们可能会有开发环境、测试环境、生产环境,这三个环境的配置信息会不同(数据库连接信息、数据库连接池配置等)。SpringBoot提供了profile功能,可以通过核心配置文件进行动态配置切换。 由于SpringBoot有两种配置文件格式,profile在实现上也有区别。 1、 .
阅读全文
摘要:前提:之前的文章有介绍SpringBoot获取自定义配置属性数据的方法,一个是使用@Value注解,另一个是使用@ConfigurationProperties结合@Component注解,但是我后来还遇到一个获取配置数据的方法,这次又写一篇,扩展了配置数据的类型。 一、在核心配置文件applica
阅读全文
摘要:一、新建项目,选择Spring Init... 二、填写项目基本信息 三、选择你想要添加的依赖 四、默认即可,不用修改 五、快速构建SpringBoot工程结束,项目结构如下: 六、不用的东西,可以删除,清理后的标准SpringBoot结构如下:
阅读全文
摘要:一、新建一个工程 二、构建项目属性 三、暂不用修改 四、构建完成,项目结构如下: 五、进入pring官网中的介绍springboot的页面https://spring.io/projects/spring-boot#learn,查看springboot的参考文档,加入springboot的web基本
阅读全文

浙公网安备 33010602011771号