@SpringBootApplication(exclude = {
HibernateJpaAutoConfiguration.class, JndiConnectionFactoryAutoConfiguration.class, XADataSourceAutoConfiguration.class,
JndiDataSourceAutoConfiguration.class, ...)
像上面的代码一样,我禁用了 Spring Boot 提供的几乎所有自动配置类,因为我想让我的 rpc 框架更干净,但我不断收到这个错误,这很奇怪,我看了一下 HibernateJpaAutoConfiguration 构造函数,它需要一个数据源 bean,但我已经禁用了 HibernateJpaAutoConfiguration,为什么它仍然创建这个 bean?
Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'javax.sql.DataSource' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
最佳答案
当您禁用 HibernateJpaAutoConfiguration
时,您必须在配置中手动提供 DataSource
bean,否则 Spring 无法在应用程序上下文中找到它并抛出您遇到的异常
关于java - 禁用 Spring Boot HibernateJpaAutoConfiguration 但仍然收到相关错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48219761/