读书笔记兼吹毛求疵!
RoBlues的吹毛求疵
吹毛求疵
最近开始阅读此书,首先声明,本人写不出这么好的书,可是还想吹毛求疵一番,主要是写下自己的感想,留着做个念想,下次再看的时候,可以加深印象。
各位爷请一笑而过。
1,56页,关于用工厂类的静态方法提供bean
本页说的是用用工厂类的静态方法来获得bean,如果静态方法中需要参数,如何定义和操作。
唯一需要注意的就是,针对静态工厂方法实现类的bean定义,使用<constructor-arg>传入的是工厂方法的参数,而不是静态工程方法实现类的构造方法的参数。(况且,静态工厂方法实现类也没有提供显示的构造方法。)
这一段绕的我头晕脑胀,好好的看了一遍,才弄明白他要说的是什么意思。
我觉得改成这样可能更易懂:
用工厂类的静态方法来提供bean,如果该静态方法需要参数,也采用的是<constructor-arg>来喂入,这个特别要注意分辨,它不是喂给该类的构造方法的。
从这个引导得出结论
采用<constructor-arg>提供的喂入,如果<bean>定义里面有factory-method方法。factory-method有优先选择权。
2,FactoryBean
这个好说,我们知道,在短句里面,最后的才是主角,前面的都是修饰语。FactoryBean的主角是Bean,Factory是修饰语,这个意思是用Factory产生出来的Bean。
它与BeanFactory的区别是,后者的主角是Factory,是个工厂,产生bean的工厂,而前者是个bean,从工厂里面出来的bean。
FactoryBean其实是Spring独家的,它位于org.springframework.beans.factory.FactoryBean,它是个接口,它的定义如下;
public interface FactoryBean<T> { T getObject() throws Exception; Class<?> getObjectType(); boolean isSingleton(); }
看见了呗,它就是个接口,只要实现了它,Spring容器就知道它是个FactoryBean,就知道怎么对付它了。
大家一定要明白,这个能力不是Bean的,也不是Spring的,而是Spring容器和FactoryBean合作实现的。
© 本文版权归作者 RoBlues 所有,任何形式转载请联系作者。
有关键情节透露