7

Spring の既存の xml 構成を Java 構成に移行しています。このプロセス中に、checked をスローする転送された Java コードに遭遇しましたException

@Bean
public PoolDataSource myDataSource()
{
    final PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
    dataSource.setConnectionPoolName("myDataSourcePoolName"); // throws SQLException
    return dataSource;
}

私はそれをどのように扱うべきか、そしてSpring開発者が「ベストプラクティス」を念頭に置いているかどうか疑問に思っていました.

メソッドをthrows句でマークする必要がありますか (チェーンを伝播します)、または-ブロック@Importでメソッドを処理する必要がありますか?trycatch

4

1 に答える 1

8

原則として、メソッドのthrows句でチェックされた例外を宣言するだけです。@Bean

@Import「チェーンを伝播する」に関して、あなたが何を指しているのかわかりません。もちろん、このthrows句では、依存@Beanするメソッドがその例外を含む句を宣言する必要がありthrowsますが、コンテナのブートストラップ時に実際の例外が伝播される場合、例外は、Springコンテナによってスローされた例外とまったく同じ方法で処理されます。 SpringXMLで構成されたBeanが処理されます。@Importここでは直交する懸念事項である必要があります。

于 2012-09-04T18:09:07.830 に答える