public class SimpleServletPostProcessor extends ObjectSE implements DestructionAwareBeanPostProcessor, ServletContextAware, ServletConfigAware
ServletEE インターフェースを実装する Bean に初期化と破棄のコールバックを適用する BeanPostProcessor。Bean インスタンスの初期化後、サーブレットの init メソッドは、サーブレットの Bean 名とそれが実行されている ServletContext を含む ServletConfig で呼び出されます。
Bean インスタンスを破棄する前に、サーブレット destroy が呼び出されます。
このポストプロセッサーはサーブレット初期化パラメーターをサポートしないことに注意してください。サーブレットインターフェースを実装する Bean インスタンスは、他の Spring Bean と同じように、つまりコンストラクター引数または Bean プロパティを介して構成されている必要があります。
プレーンサーブレットコンテナーで、Spring コンテキストで Bean としてサーブレット実装を再利用するには、サーブレット初期化パラメーターを Bean プロパティとして適用する Spring の HttpServletBean 基本クラスから派生し、標準サーブレットと Spring Bean 初期化スタイルの両方をサポートすることを検討してください。
または、Spring の ServletWrappingController でサーブレットをラップすることを検討してください。これは、サーブレットの初期化パラメーターなどを指定できる既存のサーブレットクラスに特に適しています。
Servlet.init(javax.servlet.ServletConfig)EE, Servlet.destroy()EE, SimpleServletHandlerAdapter| コンストラクターと説明 |
|---|
SimpleServletPostProcessor() |
| 修飾子と型 | メソッドと説明 |
|---|---|
ObjectSE | postProcessAfterInitialization(ObjectSE bean, StringSE beanName)Bean 初期化コールバック(InitializingBean の afterPropertiesSet またはカスタム init メソッドなど)の後に、この BeanPostProcessor を新しい Bean インスタンスに適用します。 |
void | postProcessBeforeDestruction(ObjectSE bean, StringSE beanName) 破棄する前に、この BeanPostProcessor を指定の Bean インスタンスに適用します。 |
ObjectSE | postProcessBeforeInitialization(ObjectSE bean, StringSE beanName)Bean 初期化コールバック(InitializingBean の afterPropertiesSet またはカスタム init メソッドなど)の前に、この BeanPostProcessor を指定された新しい Bean インスタンスに適用します。 |
boolean | requiresDestruction(ObjectSE bean) 指定された Bean インスタンスがこのポストプロセッサーによる破棄を必要とするかどうかを判断します。 |
void | setServletConfig(ServletConfigEE servletConfig) このオブジェクトが実行される ServletConfigEE を設定します。 |
void | setServletContext(ServletContextEE servletContext) このオブジェクトが実行される ServletContextEE を設定します。 |
void | setUseSharedServletConfig(boolean useSharedServletConfig)setServletConfig を介して渡された共有 ServletConfig オブジェクトを使用するかどうかを設定します(使用可能な場合)。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic void setUseSharedServletConfig(boolean useSharedServletConfig)
setServletConfig を介して渡された共有 ServletConfig オブジェクトを使用するかどうかを設定します(使用可能な場合)。デフォルトは "true" です。この設定を "false" にして、Bean 名をサーブレット名としてモック ServletConfig オブジェクトに渡し、現在の ServletContext を保持します。
public void setServletContext(ServletContextEE servletContext)
ServletContextAwareServletContextEE を設定します。 通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext の後に呼び出されます。
ServletContextAware の setServletContext servletContext - このオブジェクトによって使用される ServletContext オブジェクト InitializingBean.afterPropertiesSet(), ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)public void setServletConfig(ServletConfigEE servletConfig)
ServletConfigAwareServletConfigEE を設定します。 通常の Bean プロパティの設定後、InitializingBean の afterPropertiesSet またはカスタム init メソッドのような初期コールバックの前に呼び出されます。ApplicationContextAware の setApplicationContext の後に呼び出されます。
ServletConfigAware の setServletConfig servletConfig - このオブジェクトによって使用される ServletConfigEEInitializingBean.afterPropertiesSet(), ApplicationContextAware.setApplicationContext(org.springframework.context.ApplicationContext)public ObjectSE postProcessBeforeInitialization(ObjectSE bean, StringSE beanName) throws BeansException
BeanPostProcessorafterPropertiesSet またはカスタム init メソッドなど)の前に、この BeanPostProcessor を指定された新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。 デフォルトの実装は、指定された bean をそのまま返します。
BeanPostProcessor の postProcessBeforeInitialization bean - 新しい Bean インスタンス beanName - Bean の名前 null の場合、後続の BeanPostProcessors は呼び出されません BeansException - エラーの場合 InitializingBean.afterPropertiesSet()public ObjectSE postProcessAfterInitialization(ObjectSE bean, StringSE beanName) throws BeansException
BeanPostProcessorafterPropertiesSet またはカスタム init メソッドなど)の後に、この BeanPostProcessor を新しい Bean インスタンスに適用します。Bean にはすでにプロパティ値が入力されています。返された Bean インスタンスは、元のラッパーの可能性があります。FactoryBean の場合、このコールバックは、FactoryBean インスタンスと、FactoryBean によって作成されたオブジェクト(Spring 2.0 以降)の両方に対して呼び出されます。ポストプロセッサーは、対応する bean instanceof FactoryBean チェックを介して、FactoryBean または作成されたオブジェクトのいずれか、あるいはその両方に適用するかどうかを決定できます。
このコールバックは、他のすべての BeanPostProcessor コールバックとは異なり、InstantiationAwareBeanPostProcessor.postProcessBeforeInstantiation(java.lang.Class<?>, java.lang.String) メソッドによってトリガーされた短絡後にも呼び出されます。
デフォルトの実装は、指定された bean をそのまま返します。
BeanPostProcessor の postProcessAfterInitialization bean - 新しい Bean インスタンス beanName - Bean の名前 null の場合、後続の BeanPostProcessors は呼び出されません BeansException - エラーの場合 InitializingBean.afterPropertiesSet(), FactoryBeanpublic void postProcessBeforeDestruction(ObjectSE bean, StringSE beanName) throws BeansException
DestructionAwareBeanPostProcessorDisposableBean の destroy およびカスタム destroy メソッドのように、このコールバックは、コンテナーがライフサイクルを完全に管理する Bean にのみ適用されます。これは通常、シングルトンとスコープ Bean の場合です。
DestructionAwareBeanPostProcessor の postProcessBeforeDestruction bean - 破棄される Bean インスタンス beanName - Bean の名前 BeansException - エラーの場合 DisposableBean.destroy(), AbstractBeanDefinition.setDestroyMethodName(String)public boolean requiresDestruction(ObjectSE bean)
DestructionAwareBeanPostProcessor デフォルトの実装は true を返します。DestructionAwareBeanPostProcessor の 5 以前の実装がこのメソッドの具体的な実装を提供しない場合、Spring は true も暗黙のうちに想定します。
DestructionAwareBeanPostProcessor の requiresDestruction bean - チェックする Bean インスタンス DestructionAwareBeanPostProcessor.postProcessBeforeDestruction(java.lang.Object, java.lang.String) が最終的にこの Bean インスタンスのために呼び出されることになっている場合は true、または不要な場合は false