【发布时间】:2014-08-05 10:46:24
【问题描述】:
我有一个扩展基础服务的Spring 托管类。我想以任何实现类必须提供特定FileAnalyzer 实例的方式编写基础服务。但我不想让 FileAnalyzer 类由 spring 管理。
这可能吗?因为super() 类总是必须是构造函数中的第一个调用,所以我不能在调用基构造函数之前实例化任何类。
例子:
public abstract class BaseService {
BaseService(FileAnalyzer analyzer, String path) {
this.path = path;
//perform any action with analyzer.
}
}
@Service
public class TextfileService {
public TextfileService() {
//ERROR: super() must be first call in constructor
FileAnalyzer analyzer = new FileAnalyzer();
analyzer.configure(..);
super(analyzer, "c:\logs");
}
}
【问题讨论】:
-
FileAnalyzer是你写的自定义类吗?