我有一个@Service类,可以通过Web请求调用。
它有一个构造函数,用于初始化已实现类型的对象列表
public void rescale() {
dx = (1/(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)))) * dx;
dy = (1/(Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2)))) * dy;
}
除非列表中的某个项目具有构造函数,否则它将按预期工作。
private List<Interface> interfaceServices;
@Autowired
public ValidateInterfaceService(List<Interface> interfaceServices) {
this.interfaceServices = interfaceServices;
}
如果我尝试在列表中使用此类,则代码无法运行为“未找到默认构造函数”
如果方法需要传递给构造函数的值,如何正确初始化此列表?
答案 0 :(得分:0)
您的问题是由private LocalDate busDate
不是上下文中的bean引起的。您可以像这样创建一个注入LocalDate:
@Configuration
public class FooConfiguration {
@Bean
public LocalDate busDate() {
return ...
}
}
注意这看起来很奇怪,你最好以不同的方式初始化这个日期,具体取决于你的用例,e.q。使用@Value。