我已经在我的RestController类中自动安装了ApplicationContext,因为我需要为每个收到的请求创建一个原型bean。
要创建bean,我尝试了context.getBean(xx),但是上下文没有列出getBean()方法。有没有办法可以在RestController类中获取原型类的bean。我正在运行这个应用程序作为Spring启动。
示例代码在这里:
@RestController
@RequestMapping("/Restcompare")
public class CompareService {
@Autowired
private ApplicationContext context;
private Comparator comparator;
@RequestMapping("/compare")
public String vcompare(@RequestParam(value="pre", defaultValue="")
String pre, @RequestParam(value="post", defaultValue="") String post){
comparator = context.getBean(Comparator.class); //Error here
}
}
更新
解决方案: 以某种方式,IDE导入了除Spring框架之外的其他ApplicationContext。将导入更正为org.springframework.context.ApplicationContext
解决了问题。
答案 0 :(得分:1)
IDE以某种方式导入了除Spring框架之外的其他ApplicationContext。将导入更正为org.springframework.context.ApplicationContext解决了该问题。
答案 1 :(得分:0)
您可以使用@Autowired
注入bean,如下所示:
@Autowired
private Comparator comparator;