【发布时间】:2021-02-15 12:34:14
【问题描述】:
我是弹簧靴的新手。 有什么方法可以从应用程序中的 spring-boot jar 调用函数吗?
我已将 spring-boot 项目导出为 jar。在服务类内部,有一个使用 SpringJPA 与数据库交互的函数。此外,它使用一个使用@Value 初始化的变量。
这是我的服务类:
@Service
public class TestService {
@Autowired
private TestRepo repo;
@Value("#{new Double('${property.value})}")
private double val;
public double myFunc(int a, int b) {
double res = a*val + b;
TestEntity entity = new TestEntity();
entity.setValue(res);
repo.saveAndFlush(entity);
return res;
}
}
这是我的仓库:
@Repository
public interface TestRepo extends JpaRepository<TestEntity, Integer> {
}
这是我的实体:
@Entity
@Data
public class TestEntity {
@Id
private int id; // Autogenerated
private double value;
}
我想访问
new TestService().myFunction(10,20)
从另一个项目。目前,它正在为 repo 抛出 NullPointerException,并将 val 初始化为 0。我猜这是因为服务 bean 从未初始化过,因为引导应用程序从未启动过。
除了对控制器使用 REST API 调用之外,我还有什么方法可以访问这些功能吗?
【问题讨论】:
标签: java spring spring-boot