У меня есть bean-компонент с областью запроса, и мне нужен доступ к объектам HttpServletResponse и HttpServletRequest.
Мне нужен доступ к этим объектам в конструкторе, поэтому автосвязывание свойств не вариант.
Я сделал следующее:
@Component
@Scope("request")
public class MyClass{
@Autowired(required=true)
public MyClass(HttpServletRequest request, HttpServletResponse response) {
// do stuff I need to do in the constructor
}
}
Это дает мне следующую ошибку:
Конструктор по умолчанию не найден; вложенным исключением является java.lang.NoSuchMethodException: com.foo.bar.MyClass.()
Согласно этому сообщению об ошибке, он ищет несуществующий конструктор по умолчанию без параметров. Я автоматически подключил конструктор и специально установил для «требуемого» значение true, поэтому инжектор должен выбрать этот конструктор. Поскольку bean-компонент является областью запроса, это должно работать, но это не так.
Любые идеи?