声明父bean和子bean
这个概念是从java中来的,但是却和java中的有着本质的不同。
就好像书上说的一样,学习spring的都是对java有些了解的都对父类和子类有着了解。所以这里也没有必要继续从头开始讲。介绍这部本可以从其与java的不同开始。
类,无论哪种语言,都可以是看成一个方法和成员变量的共生体。方法决定其行为,而成员变量决定是它的状态,所以在java或者类似的oo语言中,继承往往是比较保守的。既只有相同或者有关系的类才能继承。
在Spring中,其注入的,或者说能够控制的只有成员变量这一块。不用考虑方法,所以在spring中的“继承”就没有那么严格,至少我觉得,与其叫做继承,叫做存放公共变量比较合适。 具体的操作就是parent。不过要注入的属性名称需要注意。
方法注入
方法注入有两种,
一种是方法替换。用的是<replaced-method>。然后创建一个类,实现MethodReplacer方法来实现。
另一种方法,可以当做是只是注入其返回值。要把类和你想要注入的方法设定为abstract。然后用<lockup-method>方法决定注入的是哪一个值。
当然这一章开头所说的,这一章的内容就好像有一个家里的工具箱,有问题的时候才会用。
注册自定义属性编辑器
简单的说,就是你把一些值类型自动转换成对象。具体操作没什么好多说的,直接看代码吧。
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <!-- key是转换到的类型 bean是转换器 转换器继承PropertyEditorSupport --> <entry key="propeditor.PhoneNumber"> <bean id="phoneEditor" class="propeditor.PhoneEditor"/> </entry> </map> </property> </bean>
Bean的后处理
让一个类实现BeanPostProccessor方法,然后把其配置到文件中,不加入id,只有class属性
<bean class="postprocessor.Fuddifier"/>
发布和监听事件
发布方继承ApplicationEvent,接受方实现ApplicationListener方法,然后发布事件是ApplicationContext实例的publicevent
了解Bean内容
了解名称,实现BeanNameAware接口,了解容器,实现ApplicationContextAware