一、BeanPostProcessors接口
1、用于对Bean的功能进行扩展,对Bean进行修改。
2、在Bean初始化操作之前和之后各调用一次。
二、BeanFactoryPostProcessors接口
1、用于在Bean实例化前,对配置信息进行修改。
三、后处理Bean的使用
1、先实现接口和方法。
2、在配置文件里注册Bean。
3、Spring会在运行时自动发现有后处理并的实现,并在对应时机调用后处理Bean。
四、特殊的后处理Bean实现
1、CustomEditorConfigurer属性编辑器。
a、编写类继承PropertyEditorSupport,重写setAsText方法,方法最后要调用setValue方法。
b、在配置文件中声明CustomEditorConfigurer类,将自定义的属性编辑器传入customEditors。
import java.beans.PropertyEditorSupport;
public class AddressEditor extends PropertyEditorSupport {
public void setAsText(String text) throws IllegalArgumentException {
String[] strs = text.split("-");
Address address = new Address();
address.setCity(strs[0]);
address.setStreet(strs[1]);
address.setRoomNum(strs[2]);
setValue(address);
}
}
<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">
<property name="customEditors">
<map>
<entry key="ioc.Address">
<bean class="ioc.AddressEditor" />
</entry>
</map>
</property>
</bean>
ioc.Address为要使用属性编辑器的类,ioc.AddressEditor为使用的属性编辑器
2、PropertyPlaceholderConfigurer读取外部配置文件。
a、写属性文件
b、在Spring配置文件中声明PropertyPlaceholderConfigurer,将属性文件路径传入location属性。
c、使用时,格式类似EL表达式${xxx}。
<bean id="p" class="ioc.Person">
<property name="addr">
<value>${address.string}</value>
</property>
</bean>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="ioc/address.properties" />
</bean>
ioc/address.properties是属性文件所在的位置
分享到:
相关推荐
SPRING 笔记SPRING 笔记SPRING 笔记
spring笔记spring笔记spring笔记spring笔记spring笔记spring笔记
spring bean配置 运行环境:eclipse 构建工具:maven 不提供maven构建,maven用来解决jar包的依赖
Spring Bean创建初始化流程
Spring bean 一般通过配置文件和注解进行加载,如果要实现jar或class文件,动态实现spring bean 的动态加载,并通过UrlClassLoader完成jar和class文件的加载。可以实现jar的热替换。spring的bean动态加载则需要对...
spring bean 的生命周期,把运行结果的日志,用sublime打开对比查看,你会有比较清晰的认识
达内,tarena,spring笔记,springPPT课件,达内spring笔记 spring的全套资料
spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean spring 获取bean
spring入门笔记
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
Spring笔记 Spring笔记 Spring笔记 Spring笔记 Spring笔记
spring笔记 狂神说
spring bean 属性总结
bean文件 springbean文件
spring笔记.pdf
spring动态向容器中添加bean和删除指定bean,不需要重启应用
Spring笔记示例源代码
尚硅谷Spring6的笔记
尚硅谷Spring笔记