拦截器通过Spring获取工厂类,注入bean对象

//    这里需要注意一点,我们在拦截器内无法通过SpringBean的方式注入LoggerJPA,我只能通过另外一种形式。
    /**
     * 根据传入的类型获取spring管理的对应dao
     * @param clazz 类型
     * @param request 请求对象
     * @param <T>
     * @return
     */
    private <T> T getDAO(Class<T> clazz,HttpServletRequest request)
    {
        BeanFactory factory = WebApplicationContextUtils.getRequiredWebApplicationContext(request.getServletContext());
        return factory.getBean(clazz);
    }

 

//调用方法

LoggerJPA loggerDAO = getDAO(LoggerJPA.class,request);

 

posted @ 2018-02-09 13:45  Mr_伍先生  阅读(590)  评论(0编辑  收藏  举报