Spring揭秘 Spring揭秘 9.0分

读书笔记兼吹毛求疵!

RoBlues
2018-04-05 15:48:49

RoBlues的吹毛求疵

吹毛求疵

最近开始阅读此书,首先声明,本人写不出这么好的书,可是还想吹毛求疵一番,主要是写下自己的感想,留着做个念想,下次再看的时候,可以加深印象。

各位爷请一笑而过。


1,56页,关于用工厂类的静态方法提供bean

56页

本页说的是用用工厂类的静态方法来获得bean,如果静态方法中需要参数,如何定义和操作。

唯一需要注意的就是,针对静态工厂方法实现类的bean定义,使用<constructor-arg>传入的是工厂方法的参数,而不是静态工程方法实现类的构造方法的参数。(况且,静态工厂方法实现类也没有提供显示的构造方法。)

这一段绕的我头晕脑胀,好好的看了一遍,才弄明白他要说的是什么意思。

我觉得改成这样可能更易懂

...
显示全文

RoBlues的吹毛求疵

吹毛求疵

最近开始阅读此书,首先声明,本人写不出这么好的书,可是还想吹毛求疵一番,主要是写下自己的感想,留着做个念想,下次再看的时候,可以加深印象。

各位爷请一笑而过。


1,56页,关于用工厂类的静态方法提供bean

56页

本页说的是用用工厂类的静态方法来获得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合作实现的。

0
0

查看更多豆瓣高分好书

回应(0)

添加回应

Spring揭秘的更多书评

推荐Spring揭秘的豆列

了解更多图书信息

豆瓣正在热议

豆瓣
免费下载 iOS / Android 版客户端