【问题标题】:Target type of lambda conversion must be an interface for ConnectionHolder - SpringBoot Javalambda转换的目标类型必须是ConnectionHolder的接口 - SpringBoot Java
【发布时间】:2019-11-04 16:04:54
【问题描述】:
  1. 我是 SpringBoot 的新手,正在尝试测试我的存储库,因此我需要连接到数据源。我正在使用 JDBC。请参阅我的示例代码方法以供参考

  2. 我正在使用 intellij,错误是“目标类型的 lambda 转换必须是接口。

  3. 知道如何解决这个问题吗?

 public ConnectionHolder getConnectionHolder() {
      // return a function that retrieves a connection from our data source
      return () -> dataSource.getConnection();
   }

【问题讨论】:

标签: java


【解决方案1】:

我也是 Spring-boot 的新手,我正在使用 spring data JPA 作为数据库,它超级灵活且易于实现。

同时检查:https://spring.io/projects/spring-data

【讨论】:

    【解决方案2】:

    对于阅读此问题的人来说,解决方案在于 import 语句。确保使用此导入语句: 导入com.github.database.rider.core.api.connection.ConnectionHolder;

    错误的原因是因为只有函数式接口可以使用 lambda 表达式。并且接口必须只包含一个抽象方法。

    错误的原因是因为我之前从一个不同的包中导入了 ConnectionHolder,该包不是一个功能接口。

    Rider 或 import 语句的 maven 依赖关系如下:

                <dependency>
                <groupId>com.github.database-rider</groupId>
                <artifactId>rider-junit5</artifactId>
                <version>1.2.6</version>
                <scope>test</scope>
               </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多