父类的@Autowired字段被继承后能否被注入

可以

示例

父类:Animal.class

public class Animal {

    @Autowired
    private PrometheusAlertService prometheusAlertService;


    public void eat(){
        System.out.println("eat food");
    }

    
}

子类:Dog.class

@Service
public class Dog extends Animal {



}

测试类

    @Autowired
    private Dog dog;

    @Test
    public  void dogTest() {

        dog.eat();
    }

测试结果

子类中已经被注入的了父类的@Autowired 属性

父类的@Autowired字段被继承后能否被注入_第1张图片

结论

Spring的AutowiredAnnotationBeanPostProcessor.AutowiredFieldElement.inject会对一个类的本身的字段其所有父类的字段进行遍历,凡是含有@Autowired的字段都会被注入。

你可能感兴趣的:(springcloud,spring,java,springboot)