java - 在springboot中获取存储库对象null
问题描述
我有以下项目结构
我的代码文件如下
DemoApplication.java
@SpringBootApplication
public class DemoApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
CarListGrabber grabber = new CarListGrabber();
grabber.grabCarsWithName("Test");
}
}
NewCarRepository.java
@Repository
public interface NewCarRepository extends CrudRepository<NewCar, Long> {
}
新汽车.java
@Entity
@Table(name = "new_car_details")
public class NewCar {
// member variables with default constructor
}
CarListGrabber.java
@Service
public class CarListGrabber {
@Autowired
private NewCarRepository newCarRepository;
// someOtherStuff
}
即使我使用了注释@Repository,@Service 我在服务中得到空存储库对象。
解决方案
您正在实例化一个新CarListGrabber
的:
CarListGrabber grabber = new CarListGrabber();
它不会进行您需要注入的注射grabber
,例如:
@Autowired
CarListGrabber grabber;
推荐阅读
- javascript - 如何对数组的 JavaScript 数组进行冒泡排序
- javascript - 如果工作人员忙,是否仍会收到发送给网络工作人员的消息?
- ios - 在 NavigationView 的隐藏导航栏前面放置可交互视图
- php - 正则表达式中的锚点
- tensorflow - 如何从生成器创建固定长度的 tf.Dataset?
- php - 在 lighthouse-php 中,如何为具有不同名称的模型定义类型?
- python - Tkinter:绑定
事件到整个窗口(但不是所有小部件) - shell - Jenkinsfile 中的 if 语句,比较字符串不起作用
- javascript - 在 react 和 three.js 中拖放对象
- python - 如何编写声明变量的函数?