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

时间:2012-09-04 15:30:16

标签: spring

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

的传输Java代码
@Bean
public PoolDataSource myDataSource()
{
    final PoolDataSource dataSource = PoolDataSourceFactory.getPoolDataSource();
    dataSource.setConnectionPoolName("myDataSourcePoolName"); // throws SQLException
    return dataSource;
}

我想知道我应该如何处理它,以及Spring开发人员是否有任何'最佳实践'

我应该使用throws子句标记该方法(它会向任何@Import链传播)还是应该使用try - catch块来处理它?

1 个答案:

答案 0 :(得分:7)

作为一般规则,您应该在throws方法的@Bean子句中声明任何已检查的例外。

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