java - 禁用 Spring Boot HibernateJpaAutoConfiguration 但仍然收到相关错误

标签 java hibernate spring-boot spring-data-jpa

@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/

相关文章:

java - 为什么在执行多对多查询时我的 Set 变量会抛出错误?

java - JSP 在 tomcat 上找不到类错误 org.hibernate.Session

java - 如何将商品订购 HQL 转换为过滤查询?

java - 如何在 Controller 中将 RequestBody 定义为列表,我收到 500 错误

java - @RequestMapping ("/**") 不会加载js、css等静态内容

java - Storm : How to pass String Array from one bolt to another?

java - Spring:@BootstrapWith 用于 ApplicationContext

返回 JAXB 带注释的对象时,具有非标准的 Spring Boot RequestMapping 会产生返回 406 错误的值

java - 无法动态更新外观

java - 如何从 Java 中格式错误的字符串中获取属性和值