叶明的javablog

java学习天堂,个人关于其他blog:blog.javaworker.cn,欢迎大家访问
posts - 64, comments - 50, trackbacks - 0, articles - 3

1、首先看一下BeanFactory
  有一个常量:FACTORY_BEAN_PREFIX=&
        这里是对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象
       如果需要得到工厂本身,需要转义。
//返回以给定名字注册的bean实例。根据bean的配置情况,如果为singleton模式将返回一个共享的实例,否则 将返回一个新建的实例。如果没有找到指定的bean,该方法可能会抛出BeansException异常(实际上将抛出NoSuchBeanDefinitionException异常),在对bean进行实例化和预处理时也可能抛出异常
Object getBean(String name) throws BeansException; 
//返回以给定名称注册的bean实例,并转换为给定class类型的实例,如果转换失败,相应的异常(BeanNotOfRequiredTypeException)将被抛出。上面的getBean(String)方法也适用该规则
Object getBean(String name, Class requiredType) throws BeansException
//如果BeanFactory包含给定名称的bean定义(或bean实例),则返回true
boolean containsBean(String name);
//判断给定名称的bean定义(或bean实例)是否为singleton模式(singleton将在bean的作用域中讨论),如果bean没找到,则抛出NoSuchBeanDefinitionException异常。
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;  

boolean isPrototype(String name) throws NoSuchBeanDefinitionException
#检测给定的名称获取的类,是不是与给定的class类型相匹配,如果匹配,返回ture,否则返回flase,如果给定名称转化成类失败,相应的异常(NoSuchBeanDefinitionException)将被抛出
boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException
取得bean对应的class实例
Class getType(String name) throws NoSuchBeanDefinitionException;
获取指定所有bean的别名
String[] getAliases(String name);

Feedback

# re: spring源代码学习(2.0.5)一(BeanFactory)  回复  更多评论   

2008-07-06 23:16 by Always BaNg.
源代码分析不是分析API/Implementation,这两个其实都会变的。

对于框架,应该重点关注Lifecycle已经lifecycle中使用的context,搞清楚了再按照白皮书调试一遍源代码加强对框架作者想法的理解。

个人之言,希望能有所帮助。

# re: spring源代码学习(2.0.5)一(BeanFactory)  回复  更多评论   

2008-07-08 00:16 by dennis
这是源码分析吗?不知道的还以为是javadoc,不过spring的源码其实不怎么样。

# re: spring源代码学习(2.0.5)一(BeanFactory)  回复  更多评论   

2008-07-08 07:39 by guming123416
关于spring的源代码,去了解,首先开始就分析他的框架架构题体系,我个人观点还是首先熟悉其主要的类与接口,然后才是框架体系,如果不熟悉他的类。何谈框架架构呢?
spring源代码不 怎么样?那你全部读懂吗?写出一个类似的框架?

# re: spring源代码学习(2.0.5)一(BeanFactory)  回复  更多评论   

2008-07-08 12:45 by leekiang
spring发展到现在,已经被大量的使用,说它的源码不怎么样已经没有多大意义了。
重要的是:如何使用spring,怎样使用才没有问题,spring本身有没有bug,有bug的话如何规避等。

只有注册用户登录后才能发表评论。


网站导航: