【发布时间】:2019-12-28 04:04:56
【问题描述】:
我可以在不是 RestController 或类似的类中访问我的存储库吗?
我有一个 WatchService 监听文件夹,读取文件并保存到数据库。我的 watchservice 就像读取文件一样工作,但是我想使用我的 JPARepository 来持久化,我可以这样做吗?
Springboot 应用 v2.1.6.RELEASE
@Repository
public interface MyRepository extends JpaRepository<MyClass, Long> { }
public class MyWatchService implements Runnable{
@Autowired
private MyRepository myRepository;
// SOME CODES COMES HERE
@Override
public void run() {
// SOME CODES COMES HERE
myRepository.save(MyClass); // In this point give a nullPointerException
}
}
我得到了那个例外:
java.lang.NullPointerException
at com.WatchService.run(WatchService.java:515)
at java.base/java.lang.Thread.run(Thread.java:835)
【问题讨论】:
-
转换为构造函数注入几乎总能解决这个问题。
标签: java spring-boot cdi