Соединение бина и значения в конструкторе

Я использую Spring. У меня есть этот класс:

@Service
public class FooService {

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

    @Autowired
    ResourceLoader ctx;
}

Я действительно ненавижу свойства проводки и предпочитаю использовать конструктор, но все, что я придумаю, это получение странного "конструктора FooService в классе FooService нельзя применять к данным типам". Можно ли в этом случае использовать строительную проводку?

1 ответ

Решение

Это должно работать:

@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;
    }
}
Другие вопросы по тегам