Весна 3.2. Все работает, когда я делаю:Autowire/впрыскивание фасоли в метод контроллера
@Controller
public class MyController {
@Inject
Provider<MyBean> provider;
@RequestMapping("/chart")
public void getChart(HttpServletResponse resp) {
provider.get();
}
}
, но она не работает, когда я ставлю MyBean в качестве аргумента getChart:
@Controller
public class MyController {
@RequestMapping("/chart")
public void getChart(HttpServletResponse resp, MyBean myBean) {
// No such method MyBean.<init>()
}
}
Так Spring пытается создать новый экземпляр myBean вместо использования уже связанный.
Конфигурация:
@Configuration
public class Config {
@Inject
@Bean @Scope("request")
public MyBean provideMyBean(MyOtherBean myOtherBean) {
return myOtherBean.getMyBean();
}
}
Он также не работает, если я делаю мой запрос контроллер с заданной областью, и добавить @ Inject/@ Autowired к getChart()
. Затем он не может найти экземпляр HttpServletResponse (NoSuchBeanDefinitionException), хотя, безусловно, он должен быть одним в области запроса.
Возможно, это просто не реализовано весной?
Вы пытаетесь MyBean или привязка просто получить экземпляр из контейнера МОК? –
Где объявляется mybean? – Krishna
@ KevinBowersox просто получите экземпляр. –