Свойство @Autowired в компоненте, построенном как параметр метода MVC - PullRequest
2 голосов
/ 09 мая 2011

Я использую Spring MVC Framework.В приведенном ниже фрагменте кода могу ли я сделать так, чтобы Spring вставлял bean-компонент в параметр запроса MyRequestClass при его создании (т. Е. С использованием интерфейса @Autowired или ApplicationContextAware)?Мне нужен этот объект запроса для доступа к одному из моих одноэлементных бинов Spring, и я бы предпочел не создавать ApplicationContextAware реализующий синглтон только для этой цели.свойство beanaroo с любым подходом.

@RequestMapping("/**")
@Controller
public class MyController {

    @RequestMapping(value = "/mymethod", method = RequestMethod.POST)
    public ModelAndView myMethod(@RequestBody MyRequestClass request, 
                                   ModelMap modelMap,
                                   HttpServletResponse response) {
        ...
    }
}

например.

public class MyRequestClass {

    @Autowired
    private MyInjectedBean beanaroo;

}

Я также попытался определить прототип bean-компонента этого класса в моем файле контекста приложения, но он также не имел никакого эффекта.

1 Ответ

2 голосов
/ 09 мая 2011

Вы можете, используя @Configurable и aspectJ, но я бы не стал на вашем месте.

Я бы просто дал бобу метод, принимающий MyInjectedBean в качестве параметра, и вызвал бы его из контроллера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...