2015-09-11 2 views
2

Я использую 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; 
    } 
} 
+0

Так немой со своей стороны, теперь я понимаю, что проблема была проверка была нарушена, поскольку он использует конструктор по умолчанию. Странно, что это сообщение вводит в заблуждение! – gaijinco

Смежные вопросы