我应该如何处理Spring的JavaConfig中的已检查异常?

nic*_*ild 6 spring

我正在将一些现有的xml配置转移到Spring的Java配置.在此过程中,我遇到了一些抛出已检查的传输Java代码Exception.

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

我想知道我应该如何处理它,以及Spring开发人员是否考虑过任何"最佳实践".

我应该用一个throws子句标记该方法(它会向上传播任何@Import链)或者我应该用try- catch块来处理它的方法吗?

Chr*_*ams 7

作为一般规则,您应该throws@Bean方法的子句中声明任何已检查的异常.

我不确定你所说的"传播任何@Import链条"; 该throws子句当然要求任何依赖@Bean方法依次声明throws包含该异常的子句,但是当涉及容器引导时的实际异常传播时,Spring容器将处理异常,就像抛出异常一样.处理Spring XML中配置的bean.@Import这里应该是一个正交的问题.