@Service
public interface DatabaseConnector {
public Model getModel();
}
@Configuration
@Profile({"!test"})
public class DatabaseConnectorT implements DatabaseConnector {
private final Model model;
@Autowired
public DatabaseConnectorT(@Value("${assemblerFile}") String assemblerFile) {
model = TDBFactory.assembleModel(assemblerFile);
}
}
我收到错误,该bean类无法实例化,应该给出默认构造函数。为什么要这样一个?我有两种不同的接口实现,应该根据活动的配置文件加载。配置应该用注释完成。
答案 0 :(得分:0)
默认构造函数是不带参数的构造函数。
根据错误消息,我认为该类是通过反射创建的。 所以你必须提供一种通过反射创建一个类的方法。
我假设构造函数中的 assemblerFile 的值无法通过反射来确定,因此默认构造函数被调用,而不是提供。