クラス 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 を作成します。方法の概要
修飾子と型メソッド説明void
protected PersistenceExceptionTranslator
指定された BeanFactory のすべての PersistenceExceptionTranslators を検出します。このメソッドを実装して、呼び出しの前後に追加の処理を実行します。void
setAlwaysTranslate
(boolean alwaysTranslate) 例外を常に変換するか( "true" )、または宣言時に生の例外をスローするかどうかを指定します。void
setBeanFactory
(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
- 関連事項: