java - 从 Groovy 类创建 Spring bean 导致 "cannot find symbol error"

标签 java spring gradle groovy javabeans

我有一个 groovy 类,它返回一个数据库客户端的实例:

class DBClient {

private static DBClient INSTANCE

private String url
private String userName
private String password
private String driver

@Synchronized
static DBClient getInstance() {
    if (!INSTANCE) {
        INSTANCE = new DBClient()
    }
    return INSTANCE
}

 Sql sql = Sql.newInstance(url, userName, password, driver)

void setUrl(String url) {
    this.url = url
}

void setUserName(String userName) {
    this.userName = userName
}

void setPassword(String password) {
    this.password = password
}

void setDriver(String driver) {
    this.driver = driver
}


def getAllSaa() {
    sql.rows("select * from Saa")
}
}

我尝试在 @Configuration 类中创建此类的 bean:
@Configuration
@Profile("prod")
public class OracleServerConfiguration {

@Bean
public DBClient dbClient () {

    DBClient dbClient = DBClient.getInstance();

    dbClient.setUrl("jdbc:oracle:thin:@localhost:1521:xe");
    dbClient.setUserName("SYSTEM");
    dbClient.setPassword("1111");
    dbClient.setDriver("oracle.jdbc.OracleDriver");

    return dbClient;
}
}

在 IntelliJ 中看起来不错,但是当我尝试使用 gradle 构建项目时,出现错误

“OracleServerConfiguration.java:14:错误:找不到符号
DBClient dbClient = DBClient.getInstance();符号:类 DBClient 位置:类 OracleServerConfiguration”。

我尝试为 DBClient 类中的所有字段创建 getter 和 setter,但无济于事。

有人有从 groovy 类创建 bean 的经验吗?

最佳答案

这里回答了一个类似的问题:Referencing Groovy from Java with Gradle and Spring Boot results in"cannot find symbol"
就我而言,我只是决定将模块完全保留在 Groovy 中,从而解决了问题。

关于java - 从 Groovy 类创建 Spring bean 导致 "cannot find symbol error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43070569/

相关文章:

java - 如何确保您的小程序不会在特定页面 URL 之外使用?

java - 部署WAR到tomcat时出现404

gradle - 任务是否复制了同一项目中另一个任务的所有依赖项?

java - org.gradle.api.tasks.TaskExecutionException : Execution failed for task ':app:checkDebugDuplicateClasses'

java - EclipseLink - 在执行查询期间从行读取的主键被检测为空。主键不能包含 null

java - RestTemplate + 连接池超时异常 : Timeout waiting for connection from pool

java - 在 spring 中使用 SQLServerConnectionPoolDataSource

java - 当 mode=aspectj 时,数据库中没有存储任何内容

java - 使用gradle构建Android应用程序时如何删除特定权限?

Java可靠的UDP