3、容器:IoCIoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。Spring 通过 IoC 容器来管理所有 Java 对象的实例化和初始化,控制对象与对象之间的依赖关系。我们将由 IoC 容器管理的 Java 对象称为 ......
233
0
0
2023-04-13
目录正文一、postProcessAfterInstantiation:修改Bean实例二、autowireByName:根据名称自动注入三、autowireByType:根据类型自动注入四、postProcessPropertyValues:处理属性值(@Resource、@Autowired、@Value)五、applyPropertyValues:填充 ......
245
0
0
2023-04-13
目录1.手动重试2.代理模式3.JDK动态代理4.Spring AOP5.Spring 的重试注解重试机制在分布式系统中,或者调用外部接口中,都是十分重要的。重试机制可以保护系统减少因网络波动、依赖服务短暂性不可用带来的影响,让系统能更稳定的运行的一种保护机制。为了方便说明,先假设我们想要进行重试的方法如下:@Slf4j @Component publi ......
367
0
0
2023-04-13
目录springcloud-gateway集成knife4j环境信息环境信息准备工作网关集成knife4j编写配置类Knife4jGatewayConfig测试验证相关资料springcloud-gateway集成knife4j环境信息环境信息spring-boot:2.6.3spring-cloud-alibaba:2021.0.1.0knife4j-op ......
371
0
0
2023-04-13
目录一、前言二、常用服务注册中心介绍2.1 dubbo服务注册示意图2.2 常用注册中心对比三、nacos介绍3.1 什么是nacos3.2 nacos 特点3.3 nacos生态链地图四、nacos部署4.1 下载安装包4.2 修改脚本启动模式4.3  启动nacos 服务五、Spring Cloud Al ......
327
0
0
2023-04-12
目录一、前言二、什么是 Ribbon2.1 ribbon简介2.1.1  ribbon在负载均衡中的角色2.2 客户端负载均衡2.3 服务端负载均衡2.4 常用负载均衡算法2.4.1 随机算法2.4.2 轮询算法2.4.3 加权轮询算法2.4.4 IP地址hash2.4.5 最小 ......
438
0
0
2023-04-12
目录序言为什么用groovy作为规则引擎基于流程将Groovy与Java的集成1.GroovyClassLoader2.GroovyShell3.GroovyScriptEngine集成过程中的坑和性能优化GroovyClassLoader的加载解决方案总结序言因为之前在项目中使用看groovy对业务进行一些抽象,效果比较好,过程中踩过一些坑,所以简单记录分 ......
545
0
0
2023-04-12
目录背景探索-源码进一步思考背景SpringBoot bean 加载顺序如何查看,想看加载了哪些bean, 这些bean的加载顺序是什么?实际加载顺序不受控制,但会有一些大的原则:1、按照字母顺序加载(同一文件夹下按照字母数序;不同文件夹下,先按照文件夹命名的字母顺序加载)2、不同的bean声明方式不同的加载时机,顺序总结:@ComponentScan &g ......
461
0
0
2023-04-12
目录项目准备单个拦截器的执行流程多个拦截器的执行流程权限拦截器(案例分享)SpringMVC 的拦截器 Interceptor 的主要用来拦截指定的用户请求,并进行相应的预处理或后处理。它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登录等操作。其拦截的时间点是在处理器适配器执行处理器之前。创建拦截器类需要实现 H ......
270
0
0
2023-04-12
目录简介Thread.stop被禁用之谜怎么才能安全捕获异常之后的处理总结简介工作中我们经常会用到线程,一般情况下我们让线程执行就完事了,那么你们有没有想过如何去终止一个正在运行的线程呢?今天带大家一起来看看。Thread.stop被禁用之谜问道怎么终止一个线程,可能大多数人都知道可以调用Thread.stop方法。但是这个方法从jdk1.2之后就不推荐使用 ......
316
0
0
2023-04-11
目录前言准备工作IDEAtomcatjdkjavaweb结构配置JavaWeb项目配置tomcat打包为War包遇到问题处理缺失jar依赖未找到jar对应方法项目实际启动结果结语前言我主要是进行java的springboot项目和vue项目的开发,但是架不住在这些框架兴起之前,公司内部已经是有其他的老的框架,我需要在这些老的框架进行修改和调整代码。原本我是使 ......
350
0
0
2023-04-11
目录一、简介二、使用默认ConcurrentMapManager (一)创建数据库和表(二)创建boot项目(三)使用Api1、@EnableCaching2、@CachePut3、@cacheable 4、@CacheEvict三、使用redis作为cache一、简介Spring Cache是一个框架,实现了基于注解的缓存功能,只需要简 ......
339
0
0
2023-04-10
目录新建SpringBoot项目实现代码pom.xmlApplication.javaTaskPoolConfig.javaEmailDto.javaSendEmailEvent.javaSendEmailListener.javaSendEmailService.javaSendEmailServiceImpl.javaIndexController.ja ......
325
0
0
2023-04-10
目录前言本篇内容简要:开始封装:① 初步的封装,通过map去标记需要转换的 类属性字段② 进一步的封装, 配合老朋友自定义注解搞事情总结前言平时做一些统计数据,经常从数据库或者是从接口获取出来的数据,单位是跟业务需求不一致的。比如, 我们拿出来的 分, 实际上要是元又比如,我们拿到的数据需要 乘以100 返回给前端做 百分比展示又比如, 千分比转换又比如,拿 ......
387
0
0
2023-04-10
目录Spring整合mybatis的mapper生成过程ClassPathMapperScanner#doScanClassPathBeanDefinitionScanner#doScan总结Spring整合mybatis的mapper生成过程mapperScannerConfigurer实现了BeandifinitionRegistryPostProces ......
305
0
0
2023-04-09