spring - 在spring boot web项目中获取外部jar类的局部变量
问题描述
我编写了一个项目 A,其中包含一个类 KMeans.java。该类包含一个公共局部变量iteration
。我将项目构建到一个 jar 并将该 jar 添加到我的 Spring Boot Web 项目 B.
/**
ProjectA.jar
--KMeans.java
*/
public class KMeans{
public int iteration;
public void run(){
for( iteration=0; iteration<1000; iteration++){
....
}
}
}
我尝试获取iteration
B 中的值以动态显示在网页中。但是,我不知道如何获得价值。因此,我决定将值写入数据库。
我在 A 中创建了ModelStatusUtils.java
一个包含save(int iteration)
方法的类。
public abstract class ModelStatusUtils{
public abstract void save(int iteration);
}
我将类作为参数放入run()
方法中,KMeans.java
这样我就可以保存可以由外部类控制的迭代。
....
public void run(ModelStatusUtils model){
for( iteration=0; iteration<1000; iteration++){
....
model.save(iteration);
}
}
...
接下来,我WebModelStatusUtils.java
在 B 中创建了一个类(我认为以下错误是因为 WebModelStatusUtils 扩展了 A 中的 ModelStatusUtils,所以 spring boot 无法扫描包并且无法正确自动装配 jpa)ModelStatusUtils.java
。我使用了 jpa 并在WebModelStatusUtils.java
.
public class WebModelStatusUtils extends ModelStatusUtils{
@Autowired
private ModelStatusRepository modelStatusRepository;
@Override
public int saveIteration(int i) {
ModelStatus modelStatus = new ModelStatus(i);
modelStatusRepository.save(modelStatus);
return 1;
}
}
存储库是:
public interface ModelStatusRepository extends JpaRepository<ModelStatus, Long> {
}
但是,它调用错误:
java.lang.NullPointerException: null, at WebModelStatusUtils .saveIteration(WebModelStatusUtils .java:23) ~[classes/:na]
我的问题是:
1)如何在web项目中获取外部jar的实例局部变量
2)为什么它抛出空异常。我应该如何解决它