クラス PersistenceExceptionTranslationInterceptor
java.lang.ObjectSE
org.springframework.dao.support.PersistenceExceptionTranslationInterceptor
- 実装されているすべてのインターフェース:
Advice、Interceptor、MethodInterceptor、Aware、BeanFactoryAware、InitializingBean
public class PersistenceExceptionTranslationInterceptor
extends ObjectSE
implements MethodInterceptor, BeanFactoryAware, InitializingBean
AOP Alliance MethodInterceptor。所定の PersistenceExceptionTranslator に基づいて永続性例外変換を提供します。
指定された PersistenceExceptionTranslator にデリゲートして、スローされた RuntimeException を Spring の DataAccessException 階層に変換します(適切な場合)。問題の RuntimeException がターゲットメソッドで宣言されている場合、常にそのままの状態で伝達されます(変換は適用されません)。
- 導入:
- 2.0
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明新しい PersistenceExceptionTranslationInterceptor を作成します。指定された BeanFactory で PersistenceExceptionTranslators を自動検出して、新しい PersistenceExceptionTranslationInterceptor を作成します。指定された PersistenceExceptionTranslator の新しい PersistenceExceptionTranslationInterceptor を作成します。メソッドのサマリー
修飾子と型メソッド説明voidprotected PersistenceExceptionTranslator指定された BeanFactory のすべての PersistenceExceptionTranslators を検出します。このメソッドを実装して、呼び出しの前後に追加の処理を実行します。voidsetAlwaysTranslate(boolean alwaysTranslate) 例外を常に変換するか( "true" )、または宣言時に生の例外をスローするかどうかを指定します。voidsetBeanFactory(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。void使用する PersistenceExceptionTranslator を指定します。
コンストラクターの詳細
PersistenceExceptionTranslationInterceptor
public PersistenceExceptionTranslationInterceptor()新しい PersistenceExceptionTranslationInterceptor を作成します。後で PersistenceExceptionTranslator で構成する必要があります。PersistenceExceptionTranslationInterceptor
指定された PersistenceExceptionTranslator の新しい PersistenceExceptionTranslationInterceptor を作成します。- パラメーター:
pet- 使用する PersistenceExceptionTranslator
PersistenceExceptionTranslationInterceptor
指定された BeanFactory で PersistenceExceptionTranslators を自動検出して、新しい PersistenceExceptionTranslationInterceptor を作成します。- パラメーター:
beanFactory- ListableBeanFactory からすべての PersistenceExceptionTranslators を取得する
メソッドの詳細
setPersistenceExceptionTranslator
使用する PersistenceExceptionTranslator を指定します。デフォルトでは、チェーンで使用して、BeanFactory を含むすべての PersistenceExceptionTranslators を自動検出します。
setAlwaysTranslate
public void setAlwaysTranslate(boolean alwaysTranslate) 例外を常に変換するか("true" )、または宣言時に生の例外をスローするか、つまり、元のメソッドシグネチャーの例外宣言で生の例外をスローできるか("false" )を指定します。デフォルトは "false" です。元のメソッドのシグネチャーに関係なく、該当する例外を常に変換するには、このフラグを "true" に切り替えます。
元のメソッドは特定の例外を宣言する必要がないことに注意してください。
throws Exceptionを含め、どの基本クラスでも同じことができます。元のメソッドが互換性のある例外を明示的に宣言している限り、生の例外が再スローされます。いかなる場合でも生の例外をスローしないようにするには、このフラグを "true" に切り替えます。setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAwareのsetBeanFactory - パラメーター:
beanFactory- 所有 BeanFactory(非null)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 例外:
BeansException- 初期化エラーの場合- 関連事項:
afterPropertiesSet
public void afterPropertiesSet()インターフェースからコピーされた説明:InitializingBeanすべての Bean プロパティを設定し、BeanFactoryAware、ApplicationContextAwareなどを満たした後、包含BeanFactoryによって呼び出されます。このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されたときに、その全体的な構成の検証と最終的な初期化を実行できます。
- 次で指定:
- インターフェース
InitializingBeanのafterPropertiesSet
invoke
インターフェースからコピーされた説明:MethodInterceptorこのメソッドを実装して、呼び出しの前後に追加の処理を実行します。正しい実装としては、必ずJoinpoint.proceed()を呼び出すようにします。- 次で指定:
- インターフェース
MethodInterceptorのinvoke - パラメーター:
mi- メソッド呼び出しジョインポイント- 戻り値:
Joinpoint.proceed()の呼び出しの結果。インターセプターによってインターセプトされる可能性があります- 例外:
ThrowableSE- インターセプターまたはターゲットオブジェクトが例外をスローする場合
detectPersistenceExceptionTranslators
protected PersistenceExceptionTranslator detectPersistenceExceptionTranslators(ListableBeanFactory bf) 指定された BeanFactory のすべての PersistenceExceptionTranslators を検出します。- パラメーター:
bf- から PersistenceExceptionTranslators を取得する ListableBeanFactory- 戻り値:
- 指定された Bean ファクトリで見つかったすべての PersistenceExceptionTranslators を組み合わせたチェーン PersistenceExceptionTranslator
- 関連事項: