通过WebApplicationContextUtils内部的getRequiredWebApplicationContext方法,该方法需要传入一个实体的类型,以及一个HttpServetRequest请求对象,获取到BeanFactory(实体工厂类),从而通过工厂实体的getBean方法就可以拿到SpringDataJPA为我们管理的LoggerJPA持久化数据接口实例。
private<T> T getDAO(Class<T> clazz,HttpServletRequest request){
BeanFactory factory= WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
return factory.getBean(clazz);
}