精华帖 (8) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-04-20
kjj 写道 jinnianshilongnian 写道 kjj 写道 aop思想的延伸,参与bean创建事件,给用户一个修改bean的机会!!
应该是Spring一直遵循的开闭原则,对扩展开放,对修改关闭。就如SpringMVC一样。提供很多扩展点 你可以得到bean,对修改关闭,怎么理解,怎么个关闭法!!?? 7、BeanValidationPostProcessor 默认不自动注册,Spring3.0开始支持。 提供对JSR-303验证规范支持。 根据afterInitialization是false/true决定调用postProcessBeforeInitialization或postProcessAfterInitialization来通过JSR-303规范验证Bean,默认false。 8、MethodValidationPostProcessor Spring3.1开始支持,且只支持Hibernate Validator 4.2及更高版本,从Spring 3.2起可能将采取自动检测Bean Validation 1.1兼容的提供商且自动注册(Bean Validation 1.1 (JSR-349)正处于草案阶段,它将提供方法级别的验证,提供对方法级别的验证),目前默认不自动注册。 Bean Validation 1.1草案请参考http://jcp.org/en/jsr/detail?id=349 http://beanvalidation.org/。 提供对方法参数/方法返回值的进行验证(即前置条件/后置条件的支持),通过JSR-303注解验证,使用方式如: public @NotNull Object myValidMethod(@NotNull String arg1, @Max(10) int arg2) 默认只对@org.springframework.validation.annotation.Validated注解的Bean进行验证,我们可以修改validatedAnnotationType为其他注解类型来支持其他注解验证。而且目前只支持Hibernate Validator实现,在未来版本可能支持其他实现。 有了这东西之后我们就不需要在进行如Assert.assertNotNull()这种前置条件/后置条件的判断了。 9、ScheduledAnnotationBeanPostProcessor 当配置文件中有<task:annotation-driven>自动注册或@EnableScheduling自动注册。 提供对注解@Scheduled任务调度的支持。 postProcessAfterInitialization:通过查找Bean对象类上的@Scheduled注解来注册任务调度方法(仅返回值为void且方法是无形式参数的才可以)。 可参考Spring官方文档的任务调度章节学习@Scheduled注解任务调度。 如在写的其他BeanPostProccessor。 可以看出可以扩展N多功能 欢迎讨论 |
|
返回顶楼 | |
发表时间:2012-04-20
LZ的好学的精神真值得学习,顶你
|
|
返回顶楼 | |
发表时间:2012-04-21
grzrt 写道 LZ的好学的精神真值得学习,顶你
别光顶,来点实质的干货 ,一起探讨下 |
|
返回顶楼 | |
发表时间:2012-04-23
Spring 的方法,类名字又多又长,看的头大,看过就忘。
|
|
返回顶楼 | |
发表时间:2012-04-24
yxb1990 写道 Spring 的方法,类名字又多又长,看的头大,看过就忘。
还好吧 spring分模块 分包做的到位,包前缀直接忽略 |
|
返回顶楼 | |
发表时间:2012-08-06
lz我想问下
假如我们使用了多个的BeanPostProcessor的实现类,那么如何确定处理顺序呢? |
|
返回顶楼 | |
发表时间:2012-08-06
BeanFactory中和ApplicationContext中对BeanPostProcessor的处理的不同处在于那些?
|
|
返回顶楼 | |
发表时间:2012-08-06
liuwuhen 写道 lz我想问下
假如我们使用了多个的BeanPostProcessor的实现类,那么如何确定处理顺序呢? 实现Order接口 |
|
返回顶楼 | |
发表时间:2012-08-06
最后修改:2012-08-06
liuwuhen 写道 BeanFactory中和ApplicationContext中对BeanPostProcessor的处理的不同处在于那些?
BeanFactory仅仅是个Bean的工厂(因此核心在提供Bean),ApplicationContext接口继承了BeanFactory。 BeanPostProcessor仅仅是ApplicationContext在创建Bean时 插入的扩展点。 |
|
返回顶楼 | |