
spring系列
文章平均质量分 76
spring和springboot系列框架以及源码解析
Mr. 阿紫
关注我,阿紫陪你一起成为大牛
展开
-
SpringBoot基础:一步步创建SpringBoot工程
需要在:File – ProjectStructure – Facets – Spring – Configuration Files – Customize Spring Boot(左下角绿色叶子) – Add custom configuration files(+号) 添加配置文件。否则SpringBoot无法识别配置文件,可能导致启动失败。原创 2024-01-15 09:57:47 · 1202 阅读 · 0 评论 -
SpringBoot统一异常处理
来源:Spring Boot - Exception Handlinghttps://www.tutorialspoint.com/spring_boot/spring_boot_exception_handling.htm总体思路使用注解@ControllerAdvice注入统一处理异常的类 使用注解@ExceptionHandler注入处理指定异常的方法 其他地方入controller throw出异常后,该异常对应的ExceptionHandler注解方法会处理抛出的异常异常触发流程原创 2022-04-01 19:26:26 · 699 阅读 · 0 评论 -
SpringBoot框架自定义工具类静态方法如何注入Bean
问题来源:工具类一般都是静态方法,静态方法只能调用静态成员,然而通过@Autowired注入的Bean不是静态成员,如何解决?解决方案:利用@PostConstruct注解,代码示例如下: //定义static类型的变量 private static ApplicationEventPublisher thisApplicationEventPublisher; @Autowired private ApplicationEventPublisher applicationEve原创 2021-08-08 22:15:16 · 1737 阅读 · 0 评论 -
手撸spring源码--设计模式实现spring容器
# 实现简单的spring容器# 1.背景##(1)spring容器是什么?用于承载对象的容器。对于spring容器来说,bean对象应该以类似零件方式拆解后放到bean定义中,对象解偶操作更有利于spring管理bean。当bean信息被定义后,再由spring统一装配,包括bean初始化、属性填充等,最后得到完整的实例化对象。##(2)hashmaphashmap是一种基于扰动函数、负载因子、红黑树转换等技术,形成的拉链寻址的数据结构,它能让数据更加散列的分布在哈希桶以及碰撞转载 2021-07-16 13:40:48 · 449 阅读 · 0 评论 -
SpringBoot核心接口ApplicationContext
1.SpringBoot核心接口ApplicationContextApplicationContext是一个核心接口:<span style="background-color:#dadada"><span style="color:#1f0909"><span style="color:#770088">public</span> <span style="color:#770088">interface</span> &原创 2021-06-28 11:35:50 · 530 阅读 · 0 评论 -
SPI Java和SpringBoot具体实现
1.SPI是什么?SPI 全称为服务提供者接口 (Service Provider Interface) ,是JDK内置的一种服务提供发现机制。可以轻松实现面向服务的注册与发现,完成服务提供与使用的解耦,并且可以实现动态加载。上述概念,在各类博客都能搜到。但是如何理解呢?(1)java中的服务服务就是提供某种特殊功能的模块,例如某一模块提供数据库增删改查的服务。直白理解:服务就是为他人提供某种需要。例如:你为公司提供劳动力,医生为你提供医疗服务。(2)服务注册与发现...原创 2021-06-28 10:05:36 · 490 阅读 · 0 评论 -
SpringBoot启动后的自定义初始化工作
1.启动后初始化如何理解?SpringBoot启动后,也就是SpringApplication.run()结束后,如何做一些自定义的初始化工作?原创 2021-06-28 09:08:12 · 790 阅读 · 1 评论 -
SpringBoot启动流程-new SpringApplication
SpringBoot思维图:https://www.processon.com/view/link/5deeefdee4b0e2c298aa5596#map获取所有Initializer和ApplicationListener类全限定名-->根据类全限定名使用反射方法创建对应的对象6个Initializer获取类全限定名:首先读取所有jar包中的spring.factories文件中的,然后利用key,value存储到results中。再使用你key = org.springfr...原创 2021-06-10 09:54:36 · 522 阅读 · 0 评论 -
SpringBoot内部事件监听器匹配原理和自定义匹配规则
引用:https://juejin.cn/post/6955783021224001567原创 2021-06-21 15:59:44 · 330 阅读 · 0 评论 -
SpringBoot内部事件监听器
3.SpringBoot内部事件以下5个事件均继承自ApplicationEvent抽象类,该抽象类主要属性是一个时间戳timestamp。(1)ContextRefreshedEvent:事件发布在ApplicationContext初始化或刷新时(例如,通过在ConfigurableApplicationContext接口使用refresh()方法)。这里,“初始化”意味着所有bean加载,post-processor bean被检测到并且激活,单例预先实例化,ApplicationCo原创 2021-06-21 11:38:13 · 606 阅读 · 6 评论 -
SpringBoot自定义事件监听
1.事件监听背景介绍在spring中,事件监听机制主要涉及4个实现类。ApplicationEvent:事件,每个实现类表示一类事件,可携带数据。抽象类。ApplicationListener:事件监听器,用于接收事件处理时间。接口。ApplicationEventMulticaster:事件管理者,可以添加/移除事件。用于事件监听器的注册和事件的广播。接口。ApplicationEventPublisher:事件发布者,委托ApplicationEventMulticaster完成事件发布原创 2021-06-15 11:29:44 · 1739 阅读 · 3 评论 -
springboot + h2 出现Driver不能加载问题Cannot load JDBC driver class
搭建springboot+mybatis+h2项目时,启动后出现Cannot load JDBC driver class 问题,找了许久,应该时版本问题,于是修改h2依赖,发现可用,在此mark。<!-- <dependency>--><!-- <groupId>com.h2database</grou...原创 2019-08-03 11:58:49 · 2163 阅读 · 1 评论