0
我需要一個彈簧管理bean在我的控制器方法之一。由於我不需要其他任何方法,因此我認爲不需要自動裝配它。我已經讀過,應該避免使用ApplicationContext.getBean()
,但是有沒有其他選擇?一個控制器方法內的Bean
如果使用getBean()
是正確的決定,我應該提及創建的bean具有自動裝配屬性,並且似乎在創建時使用getBeans()
創建它們時未設置。
代碼
@Controller
@RequestMapping("/controller*")
public class Controller {
@RequestMapping
public String get(Model model){
Task task = ApplicationContextHolder.getBean("Task");
task.getA();
return "index";
}
}
public class Task {
@Autowired(required=true)
private Service service;
public List<Object> getA() {
List<Object> list = service.findWhatever(); //service is null
return list;
}
}
這是完全有可能的,我不知道所有的概念權利或我失去了一些東西。什麼是創建Task
bean的最佳方式?