自动接线-空指针

问题描述

我试图通过真正的基本示例来了解Autowired的工作原理……当涉及到典型的控制器/服务/ dao时,它可以按预期工作,但是当我想创建其他东西时,我一直在与一些NullPointers进行斗争。 ..

我有两个班级:汽车,发动机和起动班。

    @Getter
    @Setter
    @Builder
    @AllArgsConstructor
    @NoArgsConstructor
    @Component
    public class Car {
        private int power;
        @Autowired
        Engine engine;

        public String showEngineName() {
            return engine.getName();
        }
    }
    
    @Getter
    @Setter
    @Component
    public class Engine {
        private String name = "super engine";
    
        public String getName() {
            return name;
        }
    }


    @SpringBootApplication
    public class EduApplication {
    
        public static void main(String[] args) {
            Car car = new Car();
            String engineName = car.showEngineName();
            System.out.println(engineName);
            SpringApplication.run(EduApplication.class,args);
    
        }
    
    }

当我启动应用程序时,汽车已初始化,但内部的引擎为空... 有人可以向我解释原因吗?不应该有一个名字叫超级引擎的引擎吗?''

致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)