当前位置: 首页 > 知识库问答 >
问题:

将Spring Boot Hibernate JPA与独立Java应用程序集成

高修伟
2023-03-14

我创建了一个Spring Boot应用程序,它使用Spring数据JPA Hibernate提供程序。这个应用程序使用spring jpa存储库为我的数据库提供了基本的crud操作。创建了一个服务类,以使用存储库接口访问数据库。

现在的问题是我想从另一个非Spring制作的独立java应用程序调用这些数据库操作。我想在此应用程序中调用Spring Boot存储库,而不是使用应用程序中使用的JDBC。

我不知道如何整合这个。

共有2个答案

傅增
2023-03-14

如果可以修改spring boot应用程序源代码,可以向spring应用程序添加spring数据rest依赖项,spring boot会将原始API公开为RESTful API,然后可以通过客户端应用程序中的http访问此API。有关更多信息,请参阅spring data jpa文档。

陆才俊
2023-03-14

您的spring boot应用程序是web应用程序吗?如果是,则将其作为REST服务公开,并使用Jersey客户端或REST模板从独立应用程序使用该服务来更新数据库记录。

例如,PUT实现可能如下所示。

@RestController
public class ExampleController {

    @Autowired
    private ExampleRepository repository

    @PutMapping("/api/address/{id}")
    public String updateRecord(@RequestBody Address address) {
        repository.save(address);
        return new ResponseEntity<String>(httpStatus);    

}

您的客户机(独立Java类)可以使用REST模板(或任何REST客户机)来使用此API,如下所示。

public class PutDemo {
 public static void main(String args[]) {
 RestTemplate restTemplate = new RestTemplate();
String url = "http://localhost:8080/api/address/{id}/";
Map<String, String> map = new HashMap<String, String>();
 map.put("id", "100");
 map.put("name", "Roy");
 Address address = new Address("Henrico", "Richmond","VA");
restTemplate.put(url, address, map);
}
}

如果您的spring boot应用程序是非web应用程序,您可以在独立类中使用fat jar作为依赖项来执行数据库操作。

 类似资料:
  • 现在假设我们想要使用 Spark API 写一个独立的应用程序。我们将通过使用 Scala(用 SBT),Java(用 Maven) 和 Python 写一个简单的应用程序来学习。 我们用 Scala 创建一个非常简单的 Spark 应用程序。如此简单,事实上它的名字叫 SimpleApp.scala: /* SimpleApp.scala */ import org.apache.spark.S

  • 我第一次尝试Drools/Guvnor,我们计划在Guvnor中进行规则创作,编译、构建并将包下载到“规则包目录”。 现在我遇到的问题是,将Drools与我们的Java应用程序集成的最佳方式是什么?选项1)构建知识代理并开始将事实插入内存以在我们的应用程序中进行规则评估。在这种情况下,Drools引擎使用与应用程序JVM相同的JVM。选项2)拥有一个构建知识代理的Drools Server,应用程

  • 我们正在开发一个应用程序,将使用CPLEX解决一个工业问题。开发了一个数学模型(文件)。我们希望直接使用该模型,而不是使用CPLEX Java API重新转录。 在我们的架构中,我们有一个专门用于检索业务数据和创建合适的文件的应用程序。原始模型和这些数据文件应发送到安装在单独机器上的CPLEX实例。 问题是允许加载和运行文件的OPLJavaAPI不提供任何API来使用远程CPLEX实例。另一方面,

  • 问题内容: 我正在考虑开发由两部分组成的桌面应用程序: 用户界面(例如Java应用) 后端Node.js服务器 2个部分通过插座连接。不要问为什么我知道这很奇怪。 我将希望能够为客户提供带有安装程序的应用程序。我不希望用户必须自己安装Node.js。 有没有一种方法可以独立安装Node.js服务器,即无需在系统上全局安装Node.js。 对于任何(Windows,Linux,Mac OS X …)

  • 问题内容: 与在内置的Web服务器上运行独立的Java应用程序并在反向代理后面运行相比,构建一个小型的Java Web应用程序以在Servlet容器(如Tomcat)中运行的优势是什么? 我已经使用Java大约一年了。我注意到启动Tomcat需要时间,并且由于类加载器问题,并非总是可以进行热重新部署。Servlet API在我看来有些令人费解,尤其是从配置和RESTful设计的角度来看(实际上并没

  • 我正在试图弄清楚如何构建一个Spring Boot独立应用程序。当然,要让东西自动连线需要一些初始的上下文起点。如果我只是尝试自动生成一个类来运行一个作业,那么即使我将它设置为静态,它也是空的。 有没有办法在一个独立的非Web应用程序中使用Spring@Services? 因此,首先将静态JobRunnerService连接到运行MyApplication的主程序,JobRunner(Servic