`
文章列表
上面完成了对资源的定位工作,接下去就是解析资源的内容了,接着第四节的第一个函数说,这一节主要完成将xml文件解析为DOM对象,函数的职责很单一。       1.2.2.1.1.3.1.1.3 loadBeanDefinitions(EncodedResource encodedResource): 方法定义在 XmlBeanDefinitionReader 类中,用以装载以 xml 格式定义的 bean 。 ==================================================================== public int l ...
在第二节中我们销毁了老的bean,第三节中有创建了一个新的DefaultListableBeanFactory 类型的工厂,接着又创建了一个 XmlBeanDefinitionReade类型的reader,顾名思义,这个reader就是去读取我们的配置文件,然后解析,完成初始化,在这一节里,我们要完成的是定位配置文件。   1.2.2.1.1.3.1.1 loadBeanDefinitions(configLocations): 定义在 XmlBeanDefinitionReader 的抽象父类 -AbstractBeanDefinitionReader 中: 通过循 ...
接着说第一节里面的第二个函数和第三个函数:第二个函数很简单创建一个 DefaultListableBeanFactory,从前面看,先是销毁了老的bean,第二个函数创建了新的工厂,,第三个函数自然就是去解析我们的文件,真正的去做初始化的工作了。   1.2.2.1.2 createBeanFactory() :在类 AbstractRefreshableApplicationContext 中仅仅只调用如下方法: return new DefaultListableBeanFactory(getInternalParentBeanFactory()); 我 ...
接下去说,上一次最后一个函数里面有三个函数调用,即 destroyBeans();   createBeanFactory() ;  loadBeanDefinitions(beanFactory); 这次继续说第一个函数:    1.2.2.1.1   destroyBeans() : 清除当前上下文的所有 bean ,默认的实现为:清除当前上下文的所有缓存的单例 bean ,默认的实现在父类: AbstractApplicationContext ,代码为:      getBeanFactory (). destroySingletons (); ...
说明:文章按照函数调用的方式一层一层推进,函数结束点击“返回”可以返回至函数调用的地方,另外在函数前有数字1.1。。表示函数的层次关系,由于函数之间的调用关系很复杂,需要忒别注意层次。下面就开始: IOC容器初始化   一、   1、  应用程序使用 spring 加载 bean 使用语句: FileSystemXmlApplicationContext con = new FileSystemXmlApplicationContext (String configLocation);       FileSystemXmlApplicationContext ...
本文章是在在看完http://www.iteye.com/topic/86339的基础上,根据作者的思路跟踪源代码而得。先上设计到的几张类图,首先是IOC设计的最要的类,由于手工作图,质量实在不怎么好啊。 图一:IOC容器主要类图   图二比较简单:定义从外面加载资源的接口   图二:从外部加载资源 图三bean的相关定义  图三:bean的相关定义       本站支持 pay for your wishes
近日做网站,商户按照设定的优先级排序分页显示。 翻页有记录重复或者遗失,很难找到规律,非常奇怪。最后发现原来是hibernate order by的分页在 Oracle 下因为 oder by 的字段重复,而导致的。。 解决方案: order by 的时候必须带上 unique 的字段,例如主键或者 rowid 等             本站支持 pay for your wishes
最近使用jquery uploadify上传成功,失败都不不执行onAllComplete,或者onError等函数。 原来一定要在后台 加上response.getWriter().print("***") ; 才可以                   本站支持 pay for your wishes
上传碰到这个问题在上传文件的时候同时上传文件的类型。。上网找了半天。总于解决了。。分享一下了。。直接例子了。。 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":&qu ...
使用JNI的关键是要load本地库,然而在实际中往往需要将项目打包供第三方使用,这是项目部署存在一个问题,每次都要单独将本地库存放到指定的位置。可以通过文件读写的方式在加载前将本地库写入指定的位置,这是只需要将本地库一起打到jar包中,提供给第三方。 代码如下:   public class JniCall { static { try { String filepath = Thread.currentThread().getContextClassLoader().getResource("").getPat ...
最近一个项目中需要使用JNI调用c的动态库,按照网上的做法把lib**.so 放到了 java.library.path 但是老是有 lib**.so not in java.libarary.path 错。。最后发现。。  static {   System.loadLibrary("hello");   hello 应该去掉 lib  和 .so    但是还是需要手工把动态库放到某个目录下面。。不能和程序一起打成jar包  供第三方调用。。   }   本站支持 pay for your wishes
Global site tag (gtag.js) - Google Analytics