Spring DriverManagerDataSource- 驱动程序加载期间堆栈溢出
Spring DriverManagerDataSource- stack overflow during driver loading
我定义了一个数据源如下:
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUrl("jdbc:h2:tcp://localhost/~/test");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource();
}
在 spring 的引导过程中,控制台抛出了一个巨大的:
Dez 07, 2016 5:00:53 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
INFO: Loaded JDBC driver: org.h2.Driver
过了一会儿我得到
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class sample.config.AppConfig: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource sample.config.AppConfig.dataSource()] threw exception; nested exception is java.lang.WhosebugError
我从某本书上复制的所有示例,这里有什么问题吗?
问题可能是我已将其放入 Web 应用程序配置 class?
在您的 dataSource()
bean 创建方法中,将 return 语句更改为:
return dataSource;
您正在再次调用该方法,这是在创建异常。
错误是你在递归调用自己的方法,最后会通过Whosebugerror。
我定义了一个数据源如下:
@Bean
public DataSource dataSource(){
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.h2.Driver");
dataSource.setUrl("jdbc:h2:tcp://localhost/~/test");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource();
}
在 spring 的引导过程中,控制台抛出了一个巨大的:
Dez 07, 2016 5:00:53 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
INFO: Loaded JDBC driver: org.h2.Driver
过了一会儿我得到
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class sample.config.AppConfig: Instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource sample.config.AppConfig.dataSource()] threw exception; nested exception is java.lang.WhosebugError
我从某本书上复制的所有示例,这里有什么问题吗?
问题可能是我已将其放入 Web 应用程序配置 class?
在您的 dataSource()
bean 创建方法中,将 return 语句更改为:
return dataSource;
您正在再次调用该方法,这是在创建异常。
错误是你在递归调用自己的方法,最后会通过Whosebugerror。