我是个新手。有什么方法可以从应用程序中的spring启动jar调用函数吗?
我已经导出了一个springboot项目作为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,并用0初始化val。我猜这是因为服务bean从未初始化,因为引导应用程序从未启动。
除了使用restapi调用控制器之外,还有其他方法可以访问这些功能吗?
1条答案
按热度按时间uemypmqf1#
控制器端点是服务的入口点。实际上,启动应用程序在容器中运行,要使用服务,必须公开端点并自动连接服务。不确定您正在寻找的场景是否有实际用例。