コントローラーメソッドの 1 つで、Spring マネージド Bean が必要です。他の方法では必要ないので、自動配線する必要はないと思います。の使用は避けるべきだと既に読みApplicationContext.getBean()
ましたが、代替手段はありますか?
使用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を作成する最良の方法は何ですか?