私のプロジェクトでは、開発者が快適に使える基本クラスを数多く提供しており、Spring BeanとしてXML構成に宣言する必要があります。Spring Beanのスコープを自己チェックする方法は?
私は注釈設定は、基本クラスから継承されることを既に認識していますが、私たちは主に私が何をしたいXML
@SpringAnnotation
public abstract class Parent{}
//Will apply any @SpringAnnotation
public class Child{}
を使用するには、基本クラスでのセルフチェックです。開発者がBeanのスコープをドキュメント化された値に設定することを忘れた場合(たとえば、現在の例では「request」)、継承したBeanは、開発者にスコープを変更するように通知する例外をスローするようにします。
など。
public void afterPropertiesSet()
{
if (!thisBean.getScope().equals("request"))
throw new BeansException("Sorry but this bean works only when it is a request bean");
}
私は春は、Bean自体に(スコープと多くのものと一緒に)Beanの独自の定義を注入かもしれないBeanDefinitionAware
のいずれかの種類を定義していないことを見てきました。
すぐに自力で解決策が出るかもしれません。
これはクールです。私は基本クラスを拡張するクラスのBeanを分析することができました。私は自分の 'BeanDefinitionAware'を(BeanPostProcessorを介して)実装することも考えていました。実際、多くの方法があるように見えます –