1. 程式人生 > >springboot中使用filter時注入bean為null的解決辦法

springboot中使用filter時注入bean為null的解決辦法

過濾器是servlet規範中定義的,並不歸spring容器管理,也無法直接注入spring中的bean(會報錯)

初始化時通過spring上下文獲取,進行bean的初始化

@Override
public void init(FilterConfig filterConfig) throws ServletException {
    ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(filterConfig.getServletContext());
    RedisTemplate demoBean = (RedisTemplate)context.getBean("redisTemplate");
    System.out.println(demoBean);
 }

參考資料

1、如何在SpringBoot的 過濾器之中注入Bean物件

2、過濾器使用與bean注入