Соединение бина и значения в конструкторе
Я использую 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;
}
}