spring 系列
文章平均质量分 61
简单简单小白
用心做人,快乐开发。
展开
-
Spring Cloud 与dubbo微服务架构选型
最终,选择框架取决于项目的需求和团队的背景。如果团队已经熟悉Spring框架,项目规模不是特别大,可以考虑Spring Cloud。如果项目需要高性能和扩展性,尤其是在大规模的微服务架构中,Dubbo可能更合适。此外,可以考虑混合使用两者以充分利用各自的优势。无论如何,都需要仔细评估并根据实际情况做出明智的决策。原创 2023-09-11 17:21:56 · 4848 阅读 · 21 评论 -
使用ResponseBodyAdvice返回值为String出现cannot be cast to java.lang.String异常
由于项目中为了全局返回统一的JSON格式,使用ResponseBodyAdvice进行拦截,拦截的时候会将返回的信息统一一个对象返回到前端。但是有的同事将一个String的响应对象返回,结果报错com.example.demoweb.config.ApiResponse cannot be cast to java.lang.String原创 2023-07-08 18:46:43 · 26426 阅读 · 11 评论 -
记录一次并发情况下的redis导致服务假死的问题
这里默认值是false,连接释放的时候先释放resource 然后再将dataSource置为null,那如果是并发的情况下话,那有可能再下一个线程进来的时候dataSource已经就是null了,在执行第2步的时候dataSource刚好被置为null,那这个时候就无法释放连接了。,给出的解决方案是升级jedis的jar包到2.10.2版本以上,换成高版本的以后问题果然就解决了。这里要注意一下的是jedis的版本跟spring-data-redis的版本是有一个对应关系的。查看redis的源码。.....原创 2022-08-29 15:27:45 · 39347 阅读 · 0 评论 -
spring bean 生命周期
Spring bean 生命周期bean 生命周期脉络bean的生命周期主要分为4个部分:bean的实例化设置属性初始化bean的销毁我将这四个部分以流程图的方式画出来了,并且设计到的核心源码也标注出来了,如下:bean生命周期的demopackage com.example.demo.bean;import org.springframework.beans.BeansException;import org.springframework.beans.factory.*;原创 2021-10-08 17:20:07 · 129 阅读 · 0 评论 -
Spring 数据校验 @Valid 统一异常处理以及统一日志打印
controller 测试类import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.validation.Errors;import org.springframework.web.bind.annotation.RequestMapping;import org.spring...原创 2018-12-11 19:55:10 · 5717 阅读 · 3 评论 -
IOC容器初始化的过程(三) — BeanDefination的的注册
IOC容器的设计(三) — IOC的初始化过程之BeanDefination的注册前面已经完成配置的解析,还是前面的例子,现在水已经找到了,已经准备好了,下面要做的就是将水装进水桶里面。其实前面已经拿到BeanDefination已经是可以使用了,剩下的工作就是将BeanDefination注册到IOC容器中,其实就是放入一个HashMap中,这个HashMap的定义在DefaultListab...原创 2018-12-09 16:01:03 · 450 阅读 · 0 评论 -
IOC容器初始化的过程(二) — BeanDefination的资源的载入与解析
IOC容器的设计(二) — IOC的初始化过程之BeanDefination资源的载入与解析在完成对Resource的定位后,下面类分析一下如何将Resource进行解析,BeanDefination的信息如何载入。BeanDefination载入的过程主要是将Resource对象转成Doc对象进行读取解析,然后使用BeanDefination对象来进行持有,最后将BeanDefination的...原创 2018-11-28 21:24:43 · 526 阅读 · 0 评论 -
IOC容器初始化的过程(一) — BeanDefination的Resource定位
IOC容器初始化的过程(一) — BeanDefination的Resource定位IoC的初始化就是由前面所提到的refresh()方法来启动的,这个启动包含BeanDefination的Resource定位、载入以及注册三个过程。Spring将IoC的初始化过程分开来做,不同的模块由不同的类去实现,这样可以让用户灵活的对这些个过程进行拓展。下面通过一个编程方式使用IoC的方式来开始了解Io...原创 2018-11-18 16:44:40 · 458 阅读 · 0 评论 -
IOC容器的设计(三) —ApplicationContext 的应用场景与设计原理
IOC容器的设计(三) — ApplicationContext 的应用场景与设计原理应用场景相比较基于BeanFactory拓展的那些容器,ApplicationContext是开发人员经常用到的,ApplicationContext除了能实现那些基本功能之外,还附加了BeanFactory不具备的搞基特性,比如支持不同的信息源,能进行实现国际化(继承MessageResource),继...原创 2018-11-07 17:29:21 · 663 阅读 · 0 评论 -
IOC容器的依赖注入
IOC的依赖注入(源码分析)前面的IOC容器的初始化,已经完成了BeanDefination的数据映射,将BeanDefination设置beanDefinitionMap中,现在数据已经有了,但是还没有注入到容器中,下面看下如何进行注入。依赖注入过程:在前面的BeanFactory接口中经常看到getBean()方法,现在看下在AbstractBeanFactory中对getBean()...原创 2018-11-07 17:24:37 · 377 阅读 · 0 评论 -
IOC容器的设计(二) — BeanFactory 的设计原理
IOC容器的设计(二) — BeanFactory 的设计原理BeanFactory提供了容器的基本规范,Spring 提供一系列以BeanFactory为基础的容器提供给开发人员使用,下面以XmlBeanfactory为例:XmlBeanFactory类继承关系我们可以清楚的看到XmlBeanFactory作为IoC底层的实现,只继承了DefaultListableBeanFacto...原创 2018-10-14 18:00:59 · 317 阅读 · 0 评论 -
IOC容器的设计(一) — BeanFactory 的应用场景
IOC容器的设计(一) — BeanFactory 的应用场景BeanFactory提供了最基本的IoC容器的基本功能,是提供了所有IoC容器所要遵守的基本服务契约,是IoC容器遵守的最底层和最基本的编程规范。BeanFactory只是一个基本接口,没有任何实现,具体实现是有DefaultListBeanFactory,XmlBeanFactory、ApplicationContext等等,这...原创 2018-10-14 17:56:51 · 846 阅读 · 0 评论 -
ContextLoaderListener 加载过程
ContextLoaderListener 加载过程需要注意的是:ContextLoader.propertiesorg.springframework.web.context.WebApplicationContext=org.springframework.web.context.support.XmlWebApplicationContextContextLoader...原创 2018-06-01 12:17:12 · 472 阅读 · 0 评论 -
Spring Boot + prometheus + Grafana应用可视化监控
Spring Boot + prometheus + Grafana应用可视化监控问题安装 prometheus + Grafanaspring boot 集成prometheusprometheus自定义指标监控Application prometheus Grafana三者关系 spring集成prometheus ,prometheus 进行数据信息...原创 2018-06-21 16:31:14 · 5820 阅读 · 0 评论 -
BeanDefinition接口定义详解
BeanDefinition接口定义详解public interface BeanDefinition extends AttributeAccessor, BeanMetadataElement { /** * 这两个参数应该一看就明白了,singleton和prototype,这个可以看出spring默认提供这两种模式 * @see #setScope ...原创 2018-04-28 16:27:40 · 1413 阅读 · 0 评论