Spring
文章平均质量分 52
wind瑞
微信搜索JavaQ,专注Java基础原理分析、微服务实战、分布式系统构建,诚邀关注!
展开
-
No value for key [org.hibernate.impl.SessionFactoryImpl 异常解决
使用Hibernate+Spring进行CRUD操作时,出现如下类似异常信息:java.lang.IllegalStateException: No value for key [org.hibernate.impl.SessionFactoryImpl@1b912ed] bound to thread 究其原因是如果你的某段代码同一个线程中包含了不止一次的CRUD操作,在某一次的原创 2014-07-24 13:38:19 · 10494 阅读 · 0 评论 -
深入理解Spring系列之十三:IntrospectorCleanupListener解析
深入理解Spring系列之十三:IntrospectorCleanupListener解析文章链接:http://www.jianshu.com/p/b167716f9c0c原创 2017-10-22 19:59:38 · 426 阅读 · 0 评论 -
深入理解Spring系列之十二:@Transactional是如何工作的
结合Spring框架,在进行数据库操作的时候,经常使用@Transactional注解,工作经历中看到很多开发者使用方式都是错误的,没有深入理解过其原理,这是很危险的!!本篇将深入Spring源码,分析@Transactional注解的工作原理。相信,看完你会点赞转发的!文章链接:https://mp.weixin.qq.com/s/ZwhkUQF1Nun9pNrFI-3a6w原创 2017-10-22 19:58:31 · 1405 阅读 · 0 评论 -
深入理解Spring系列之十一:SpringMVC-@RequestBody接收json数据报415
网络上对这个问题的分析及解决不是很深入,大部分并不能解决问题,而且内容基本相同,拿来主义,把内容放在自己的博客上!文章链接:http://www.jianshu.com/p/7ed3d4a44efc原创 2017-10-22 19:57:07 · 358 阅读 · 0 评论 -
深入理解Spring系列之十:DispatcherServlet请求分发源码分析
DispatcherServlet是SpringMVC的核心分发器,它实现了请求分发,是处理请求的入口,本篇将深入源码分析它的请求分发过程。原文链接:http://www.jianshu.com/p/1a17e210410c原创 2017-10-22 19:44:30 · 1155 阅读 · 0 评论 -
深入理解Spring系列之九:DispatcherServlet初始化源码分析
首先,从DispatcherServlet的名称上可以看出它是一个Servlet,通过一张图来看一下它的实现关系。 既然DispatcherServlet是一个Servlet,那么初始化的时候一定会执行init方法,查看源码发现DispatcherServlet的init方法继承自HttpServletBean,具体代码如下图所示。 对于上面的代码,配合一个实际的web.xml配置样例更容易原创 2017-10-01 13:22:34 · 388 阅读 · 0 评论 -
深入理解Spring系列之三:BeanFactory解析
《深入理解Spring系列之一:开篇》中提到在Spring容器启动的过程中,会将类解析成Spring内部的BeanDefinition结构,并将BeanDefinition存储到一个叫DefaultListableBeanFactory中,本篇将深入分析BeanFactory。首先,看一下DefaultListableBeanFactory的类图,可以看到Default原创 2016-10-31 16:10:32 · 1221 阅读 · 0 评论 -
深入理解Spring系列之四:BeanDefinition装载前奏曲
框架的源码分析,有些代码可以暂时忽略,如Spring如何进行XML模式校验的、XML解析的细节等,这些代码可以在了解了整体的原理之后,再做针对性的分析,关注重点内容即可,切记在一开始就去深挖每个细节,这样不仅会耗费很长时间,而且容易陷入某个坑里出不来。以《深入理解Spring系列之一:开篇》示例中的ApplicationContext applicationContext = new ClassPa原创 2017-08-10 20:36:02 · 605 阅读 · 0 评论 -
深入理解Spring系列之五:BeanDefinition装载
接上篇《深入理解Spring系列之四:BeanDefinition装载前奏曲》,进入AbstractXmlApplicationContext类的loadBeanDefinitions方法,代码如下所示。protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) throws BeansException, I原创 2017-08-10 20:38:37 · 880 阅读 · 0 评论 -
深入理解Spring系列之六:bean初始化
《深入理解Spring系列之四:BeanDefinition装载前奏曲》中提到,对于非延迟单例bean的初始化在finishBeanFactoryInitialization(beanFactory)中完成。进入这个方法,代码如下。protected void finishBeanFactoryInitialization(ConfigurableListableBeanFactory beanFa原创 2017-08-10 20:41:07 · 921 阅读 · 0 评论 -
深入理解Spring系列之七:web应用自动装配Spring配置
在《深入理解Spring系列之一:开篇》的示例代码中使用如下方式去加载Spring的配置文件并初始化容器。ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationgContext.xml");在web应用中,配置文件都是自动加载的,示例代码中的方式就不能满足需求了。在web应用中使用原创 2017-08-10 20:42:34 · 788 阅读 · 0 评论 -
深入理解Spring系列之八:常用的扩展接口
Spring不仅提供了一个进行快速开发的基础框架,而且还提供了很多可扩展的接口,用于满足一些额外的开发需求,本篇将对常用的可扩展接口进行归纳总结。1.InitializingBean接口 InitializingBean接口中只有一个afterPropertiesSet方法,从方法的名称上很容易理解,这个方法是在Bean的属性都设置值后被调用,用于完成一些初始化工作。当然,在Spring的配置文件原创 2017-08-10 20:44:10 · 4568 阅读 · 0 评论 -
深入理解Spring系列之二:BeanDefinition解析
《深入理解Spring系列之一:开篇》中提到在Spring容器启动的过程中,会将Bean解析成Spring内部的BeanDefinition结构,本篇将深入分析这个BeanDefinition的内部结构。直接看BeanDefinition源码,public interface BeanDefinition extends AttributeAccessor, BeanM原创 2016-10-30 20:21:41 · 12274 阅读 · 1 评论 -
深入理解Spring系列之一:开篇
Spring经过大神们的构思、编码,日积月累而来,所以,对其代码的理解也不是一朝一夕就能快速完成的。源码学习是枯燥的,需要坚持!坚持!坚持!当然也需要技巧,第一遍学习的时候,不用关注全部细节,不重要的代码可以先忽略掉,达到理解大体的架子及流程,避免第一次就陷入某个坑里出不来。第二遍针对某个流程更深入的、有针对性的去分析学习,当然遇到某个实在过不去的坎可以标记,后面再思考,毕竟是别人设计的,有些不是原创 2016-10-30 20:18:39 · 6021 阅读 · 2 评论 -
Log4j配置文件位置+Spring中数据源配置文件位置
一.Log4j配置文件位置1.自动加载应用程序启动时,默认情况下会到src目录下寻找log4j.xml配置文件,若不存在,会继续寻找log4j.properties文件,只要找到其中一个就会加载该配置文件内容。2.手动加载如果将log4j.properties(或log4j.xml)放到其它目录下,比如下图中的位置,应用程序就不能自动加载log4j的配置文件了,因为应用原创 2014-07-29 13:20:41 · 2229 阅读 · 2 评论 -
Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
在使用Spring+Hibernate或Spring+Hibernate+Struts进行增删改时会提示:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)分析原因如下:在使用Spring+Hibernate或Spring+Hibernate+Struts的时候,会开启OpenSessi原创 2013-06-01 21:42:58 · 2818 阅读 · 0 评论 -
Document root element "beans", must match DOCTYPE root "null"
使用spring框架,提示错误信息如下:org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null"分析原因是spring.jar和spring的配置文件不匹配。spring1.x的配置文件使用如下方式:......原创 2013-11-17 14:12:36 · 5298 阅读 · 0 评论 -
Class文件中为什么要使用魔数?
Class文件是一组以8位字节为基础单位的二进制流,文件中记录了一个类或接口的定义信息,文件中的各个数据项严格按照顺序紧凑排列,中间不使用分隔符,所以Class文件中存储的都是程序运行必要的参数。每个Class文件的头四个字节被称为魔数,使用十六进制的0xCAFEBABE表示,它的作用是确定这个文件是否为一个能被虚拟机接受的Class文件,起到身份识别的作用。 ...原创 2018-02-12 21:09:49 · 881 阅读 · 0 评论