【发布时间】:2021-01-13 09:36:24
【问题描述】:
我正在尝试了解 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);
}
}
当我启动应用程序时,汽车已初始化,但里面的引擎为空... 有人可以向我解释为什么吗?不应该有一个名字叫“超级引擎”的引擎吗?
问候!
【问题讨论】:
标签: java spring inversion-of-control autowired