深入Spring

两种后处理器
1,Bean后处理器:
对容器中的Bean进行后处理,对Bean功能进行额外增强。
Bean后处理器是一种特殊的Bean,主要负责对容器中的其他Bean执行后处理,会在Bean实例创建成功之后,对Bean实例进行进一步的增强处理。
Bean后处理器必须实现BeanPostProcessor接口,
在配置文件bean.xml中配置Bean后处理器和配置普通Bean完全一样。

使用ApplicationContext作为容器,无须手动注册BeanPostProcessor。而使用BeanFactory作为Spring容器时,必须手动注册BeanPostProcessor,采用ApplicationContext作为Spring容器,则无须手动注册Bean后处理器。ApplicationContext可自动检测到容器中的Bean后处理器,自动注册。
因此,建议使用ApplicationContext作为容器。

提示:
如果需要对容器中某一批Bean进行通用的增强处理,则可以考虑使用Bean后处理器。

Bean后处理器负责处理容器中的所有Bean实例,而容器后处理器则负责处理容器本身。

2,容器后处理器:
对IoC容器进行后处理,用于增强容器功能。
容器后处理器必须实现BeanFactoryPostProcessor接口。
容器后处理器的作用域范围是容器级,它只是对容器本身进行处理,而不是对容器中的Bean进行处理;如果需要对容器中的Bean实例进行后处理,则应考虑使用Bean后处理器(BeanPostProcessor)。而不是容器后处理器(BeanFactoryPostProcessor)。
1,PropertyPlaceholderConfigurer 属性占位符配置器
2,PropertyOverrideConfigurer: 重写占位符配置器
3,CustomAutowireConfigurer 自定义自动装配的配置器
4,CustomScopeConfigurer: 自定义作用域的配置器。
如果需要配置多个容器后处理器,多个容器后处理器(BeanFactoryPostProcessor)可设置order属性来控制容器后处理器的执行次序。设置order属性需实现Ordered接口。

使用Annotation来代替XML配置文件。
Spring通过使用Annotation来标注Bean类。
@Component:标注一个普通的Spring Bean类
@Controller:标注一个控制器组件类
@Service:标注一个业务逻辑组件类
@Repository:标注一个DAO组件类

指定Bean的作用域

eg:
//指定该Bean实例的作用域为prototype
@Scope("prototype")
//指定该类作为Spring Bean,Bean实例名为axe
@Component("axe")
使用@Resource配置依赖
使用@Resource与<property.../>元素的ref属性有相同的效果

在ApplicationContext确定资源访问策略有两个方法:
1,ApplicationContext实现类指定访问策略
ClassPathXmlApplicationContext:对应使用ClassPathResource进行资源访问
FileSystemXmlApplicationContext:对应使用FileSystemResource进行资源访问
XmlWebApplicationContext:对应使用ServletContextResource进行资源访问。
2,前缀指定访问策略。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值