在构造函数中连接一个 bean 和一个值

Wiring a bean and a value in a constructor

我正在使用 Spring。我有这个 class:

@Service
public class FooService {

    @Value("${xml.file.path}")
    String xmlFilePath;

    @Autowired
    ResourceLoader ctx;
}

我真的很讨厌接线属性,更愿意使用构造函数,但我想出的任何东西都变得很奇怪 "constructor FooService in class FooService cannot be applied to given types"。在这种情况下可以使用施工布线吗?

这应该有效:

@Service
public class FooService {
    private String xmlFilePath;
    private ResourceLoader ctx;

    @Autowired
    public FooService(@Value("${xml.file.path}") String xmlFilePath, ResourceLoader ctx) {
        super();
        this.xmlFilePath = xmlFilePath;
        this.ctx = ctx;
    }
}