Spring - Filtre Bean injecté dans le filtre d'injection ne [NULL]

description du problème

SpringEn Filter注入Beanlorsqu'il est injecté échec, Beanil a été vide.

@Slf4j
@Component
public class RestAuthFilter extends FormAuthenticationFilter {

    //实际注入为null
    @Autowired
    MobileDeviceService mobileDeviceService;

    @Autowired
    UserService userService;

    ...
}

analyse

Printemps, l'ordre de l'application Web est lancé: listener-> Filtre-> servlet.

auditeur initialisés, puis revenir à l'initialisation du filtre, alors seulement à l'initialisation de notre dispathServlet,

Par conséquent, quand nous avons besoin d'injecter une note de haricot dans le filtre, l'injection échouera,

Parce que lorsque le filtre est initialisé, non annoté initialisation du haricot, non injectée.

solutions

Méthode A: Outils d'injection manuelle

Outils d' injection Spring Référence: https://shentuzhigang.blog.csdn.net/article/details/104735859

 

injection manuelle classe Optimizer: Méthode deux

https://www.liangzl.com/get-article-detail-158316.html

Troisième méthode: chargement tectonique 

1, étant donné que la section de configuration définit SecurityMetadataSource en utilisant la configuration de chargement 

<beans:bean id="mySecurityMetadataSource" class="app_security.MyInvocationSecurityMetadataSource">  
    <beans:constructor-arg><beans:ref bean="resourceDao"/></beans:constructor-arg>  
</beans:bean>  
<beans:bean id="resourceDao" class="com.ipi.tyr.module.resourceModule.dao.impl.ResourceDaoImpl"></beans:bean>  

2, dans la securityMetadataSource de classe personnalisée

private ResourceDao resourceDao;  
public MyInvocationSecurityMetadataSource(ResourceDao resourceDao) {  
    this.resourceDao = resourceDao;  
    loadResourceDefine();  
}

Article de référence

https://blog.csdn.net/hehuanchun0311/article/details/80513558

https://www.iteye.com/blog/awaitdeng-1040020

https://www.cnblogs.com/happyflyingpig/p/7998449.html

https://bbs.csdn.net/topics/390545490

https://www.liangzl.com/get-article-detail-158316.html

Publié 1428 articles originaux · louange gagné 260 · vues 420 000 +

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43272781/article/details/104736637
conseillé
Classement