根据需要标记第三方类属性(Java / Spring)

时间:2009-10-08 21:23:42

标签: java spring annotations aop

最近,我在尝试清理弹簧配置时遇到了一个非常令人困惑的错误。异常是从第三方库深处抛出的,基本上是一个混淆的NPE。

我希望能够做的是配置spring以根据需要在此类上要求特定字段,但我不想构建库的自定义版本。

一个明显的解决方案是在那里进行子类化和标记,但出于好奇,我想知道是否有一种简单的方法可以在春天做到这一点,而不必去做类杂耍。

Java 6u10,Spring 2.5。

2 个答案:

答案 0 :(得分:2)

为您的对象写一个FactoryBean。不需要子类化。

更新(根据评论/问题澄清)

我终于理解你现在要做的事情:-) Spring中没有任何东西可以做你想要的东西,但写起来相当简单。您基本上是在考虑扩展org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor,除非您静态指定bean类/方法名称,而不是依赖于它们进行注释。您需要覆盖isRequiredProperty()方法。

答案 1 :(得分:1)

我会编写一个扩展当前类的类,并在Spring中实现InitalizingBean接口,检查您指定的字段。