03 2014 档案
摘要:源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐, 本文以spring框架的XmlBeanFactory为入手点进行分析首先来打开该类的代码,我们将看到如下代码: 1 public class XmlBeanFactory extends DefaultListableBeanFactory { 2 3 private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); 4 5 public...
阅读全文
摘要:1.Spring 的整体架构 Spring框架主要由7大模块组成,它们提供了企业级开发需要的所有功能,而且每个模块都可以单独使用,也可以和其他模块组合使用,灵活且方便的部署可以使开发的程序更加简洁灵活。上图所示即7个模块的部署示意图。1)核心模块 Spring Core模块是Spring的核心容器,它实现了IOC模式,提供了Spring框架的基础功能。此模块中包含的BeanFactory类是Spring的核心类,负责JavaBean的配置与管理。它采用Factory模式实现了IOC即依赖注入。谈到JavaBean,它是一种 Java 类,它遵从一定的设计模式,使它们易于和其他开发工具和组...
阅读全文
摘要:tomcat集群时,原来通过HttpSessionListener实现类监听session的创建和销毁来统计在线人数的方法不再有效,因为不是每个人登陆都会在同一个tomcat服务器上,而在另一台tomcat上登陆的人的session是通过session复制创建的,而复制过程不会调用HttpSes...
阅读全文
摘要:sesion在浏览器和web服务器直接是通过一个叫做name为sessionid的cookie来传递的,所以只要在每次数据请求时保持sessionid是同一个不变就可以用到web的session了,做法是第一次数据请求时就获取sessionid的值并保存在一个静态变量中,然后在第二次请求数据的时候要...
阅读全文
摘要:5.5准备创建bean 我们不可能指望在一个函数中完成一个复杂的逻辑,而且我们跟踪了这么多Spring代码,经历了这么多函数,或多或少也发现了一些规律:一个真正干活的函数其实是以do开头的,比如doGetObjectFromFactoryBean;而给我们错觉的函数,比如getObjectFromFactoryBean,其实只是从全局角度去做些统筹的工作。这个规则对于createBean也不例外,那么让我们看看在createBean函数中做了哪些准备工作。 1 protected Object createBean(final String beanName, final RootBeanD.
阅读全文
摘要:5.4获取单例 之前我们讲解了从缓存中获取单例的过程,那么,如果缓存中不存在已经加载的单例bean就需要从头开始bean的加载过程了,而Spring中使用getSingleton的重载方法实现bean的加载过程。 1 public Object getSingleton(String beanName, ObjectFactory singletonFactory) { 2 Assert.notNull(beanName, "'beanName' must not be null"); 3 //全局变量需要同步 4 synchronize...
阅读全文
摘要:fedora20发布,不对rc.local支持,其实只是删除了rc.local文件,如果想在开机时能够运行自己写的脚本,只要新建rc.local文件就可以了,下面让我们来测试下吧:环境:fedora20 GNOME桌面1./etc/rc.local其实是/etc/rc.d/rc.local的软连接,...
阅读全文
摘要:在网上找了两个图片的缩放类,在这里分享一下: 1 package manager.util; 2 import java.util.Calendar; 3 import java.io.File; 4 import java.awt.image.BufferedImage; 5 import jav...
阅读全文