从spring boot jar运行函数

wkyowqbh  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(333)

我是个新手。有什么方法可以从应用程序中的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调用控制器之外,还有其他方法可以访问这些功能吗?

uemypmqf

uemypmqf1#

控制器端点是服务的入口点。实际上,启动应用程序在容器中运行,要使用服务,必须公开端点并自动连接服务。不确定您正在寻找的场景是否有实际用例。

相关问题