Java 子类无法创建构造函数
我正在使用SpringBoot创建一个应用程序。目前,我有一个抽象类,如下所示: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
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中?