![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring相关
文章平均质量分 72
菜爷面馆
大家好,
我叫青菜,
原阿里巴巴资资深软件工程师,
原梵帝IT技术总监,
45岁转行学厨师,
你们愿意看我怎么学厨师,
然后一步步走上创业之路吗?
展开
-
SpringBoot动态数据源实现
AbstractRoutingDataSource是Spring-jdbc提供一个继承自AbstractDataSource的抽象类。AbstractRoutingDataSource 关键属性targetDataSources:存放Key和数据库连接映射关系defaultTargetDataSource: 默认连接resolvedDataSources:这个数据是通过targetDataSources构建而成,也是存放Key和数据库连接映射关系。原创 2024-03-28 15:58:48 · 475 阅读 · 0 评论 -
SpringBoot Redis 之Lettuce 驱动
因为默认不再引入Jedis驱动包,所以直接加载Lettuce驱动。Lettuce:它的连接是基于Netty,连接实例可以在多个线程并发访问,一个连接实例可以满足多线程环境的并发访问,当然一个实例不够也可以按需增加实例,使用连接池。创建SpringBoot2.6项目,引入spring-boot-starter-data-redis,打开Depnedencies可以看到他的依赖如下。Jedis:采用的是直接连接redis-server,多线程操作时是不安全的,需要使用Jedis pool来规避线程不安全问题。原创 2024-03-28 15:25:24 · 325 阅读 · 0 评论 -
spring.factories
spring.factories配置机制类似于Java SPI,META-INF/spring.factories 文件中配置了接口实现类名称,然后springboot在启动时候扫描该配置文件并实例化配置文件中的Bean. SPI可以参考《通常将Bean注入到Spring容器中有多种方法,比如@Autowire、@import注解,而Spring.factoires的意义在于可以将第三方Jar包中的Bean有选择地注入到容器中。注:下一篇讲Springboot的starte机制。原创 2024-03-27 20:03:25 · 630 阅读 · 2 评论 -
spring-boot-devtools配置和原理
基本原理是使用了两个ClassLoader,一个ClassLoader加载那些不会改变的类(第三方Jar包),另一个ClassLoader加载会更改的类,称为restart ClassLoader,在代码更改时原来的restart ClassLoader会被丢弃,重新创建一个restart ClassLoader,由于需要被加载的类比较少,所以实现较快的重新加载。注:使用RestartClassLoader来加载Main启动类。然后你修改类应用就会立即重启生效,比手工重启要快很多。原创 2024-03-27 19:54:51 · 627 阅读 · 0 评论