Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 子类无法创建构造函数_Java_Spring_Spring Boot - Fatal编程技术网

Java 子类无法创建构造函数

Java 子类无法创建构造函数,java,spring,spring-boot,Java,Spring,Spring Boot,我正在使用SpringBoot创建一个应用程序。目前,我有一个抽象类,如下所示: public abstract class DB { private final String dbName; private final String dbServerName; public DB(String dbName, String dbServerName) { this.dbName = dbName; this.dbServerName

我正在使用SpringBoot创建一个应用程序。目前,我有一个抽象类,如下所示:

public abstract class DB {

    private final String dbName;
    private final String dbServerName;

    public DB(String dbName, String dbServerName) {
        this.dbName = dbName;
        this.dbServerName = dbServerName;
    }

    public String getDbName() {
        return dbName;
    }

    public String getDbServerName() {
        return dbServerName;
    }

    abstract Boolean pushDataToDB();
}
以下类应使用此抽象类:

@Component
public class InfluxDB extends DB {

    @Autowired
    public InfluxDB(String dbName, String dbServerName) {
        super(dbName, dbServerName);
    }

    @Override
    public Boolean pushDataToDB() {
        return true;
    }
}

但是,我得到的错误是:无法自动连线,找不到字符串类型的bean。我在dbName和dbServername的构造函数参数中都遇到了这个错误。这个错误的原因是什么?

注释将注入构造函数中定义的类型,在您的例子中,是两个字符串,如果您需要这个类成为
@Component
,并且仍然需要这个构造函数,那么您需要定义要注入的SpringBean


我将创建一个
@ConfigurationProperties
类,并将其注入,而不是注入多个字符串。

删除自动连线,这不是必需的

Autowired是调用一个Beaned对象


我建议您使用
@Value
从属性文件或系统变量中注入值。它的格式通常类似于
${database.uri}

那么……您是否有任何字符串类型的bean可以自动连接到正在创建的
InfluxDB
bean中?