首页 > 解决方案 > 通过 @Autowired 实例化的 Spring 类 - 引用时生成空指针豁免

问题描述

获得以下课程

       @Component
       @DependsOn({"classB"}
       public class ClassA{
       @Autowired ClassB classB;
        public ClassA(){
         log.info("Instantiating Class A") // 
        }

            executeA(){
             classB.executeB();  //null pointer
            }
        }

    @Configuration
    @Endpoint
    public class EndPointClass {
    @Autowired
    ClassA classA;
       webserviceEndpoint1() {
          classA.executeA(); // this line works fine without any errors
       }

    }

    @Service
    public class ClassB {

       public ClassB() {
         log.info("Instantiating Class B") // This line is executed before the Class A 
       }

      public void executeB() {
      }

    }

当我运行上面的代码时,我可以看到 ClassB 被 spring 实例化,并且在 Class A 被实例化之前,但是一旦它到达 classB.executeB 我得到一个空指针异常。这一切都在 Springboot 中运行。

请问有什么想法吗?

标签: javaspringspring-boot

解决方案


推荐阅读