ApplicationContext容器处理器

2022-07-30,,

所谓的容器处理器就是对Spirng容器(一般是ApplicationContext)进行处理

容器处理器是一个实现了BeanFactoryPostProcessor接口的bean
BeanFactoryPostProcessor中有方法:

  • void postProcessBeanFactory(ConfigurableListableBeanFactory var1)
    该方法需要重写,参数var1就是容器,可对其进行处理。

配置容器处理器很简单,只需要一行

<bean class="容器处理器的全限定类名" /> 

一般容器不需要额外处理,因为Spring容器已经很优秀

Spring内置了一些容器处理器,比较常用的有:

  • PropertyPlaceholderConfigurer: 属性占位符配置器
  • PropertyOverrideConfigurer: 重写占位符配置器
  • CustomAutowireConfigurer: 自定义自动装配的配置器
  • ConstomScopeConfigurer:自定义作用域的配置器

PropertyPlaceholderConfigurer使用示例:
beans.xml

<?xml version="1.0" encoding="UTF-8"?> <beans> <!--注册容器处理器PropertyPlaceholderConfigurer
	location:指定配置文件
	--> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="classpath:db.properties" /> <!--也可以简化写成--> <!--	<context:property-placeholder location="classpath:db.properties"/>	--> <bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource" p:driverClass="${driver}" p:jdbcUrl="${url}" p:user="${user}" p:password="${pass}" p:maxPoolSize="${maxSize}" p:minPoolSize="${minSize}"/> </beans> 

db.properties

url=jdbc:mysql://localhost:3306/javaweb
driver=com.mysql.jdbc.Driver
user=root
pass=123456
maxSize=30
minSize=2 

本文地址:https://blog.csdn.net/java1592724884/article/details/108034983

《ApplicationContext容器处理器.doc》

下载本文的Word格式文档,以方便收藏与打印。