ignoreDependencyType(Class class)方法使用

该方法字面意思是忽略依赖类,注释给出的解释是在自动装配时忽略指定类型的依赖注入.

经过我在网上查的资料,发现自动装配有两种方式:

一种是在xml配置文件中的<beans>标签中配置一个属性,如下:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd"
       default-autowire="byType">
通过此种设置后,即使不使用@AutoWired注解也能全部自动注入依赖

另一种是在依赖上添加@AutoWired注解,只有添加了该注解的依赖才会被自动注入实例.

而ignoreDependencyType(Class class)方法针对的是第一种,使用xml配置属性的方式,在这种自动装配设置的情况下,对某些依赖类型进行自动注入的忽略.

总结一下:

1.ignoreDependencyType(Class class)方法只影响xml配置自动装配的依赖注入方式.

2.该方法虽然在源码中有使用,但我觉得一般情况下不会用到它,一是因为在使用过程中都希望自动注入依赖,而是因为有@AutoWired注解,可以决定哪些依赖必须注入,

三是因为目前使用最多最流行的是SpringBoot方式配置bean,xml方式将更少触及.

所以我觉得该方法仅仅在学习源代码时了解即可,不值得深究.

原文地址:https://www.cnblogs.com/wangxuejian/p/10652305.html