【问题标题】:Simple embedded database with spring带有弹簧的简单嵌入式数据库
【发布时间】:2014-11-03 17:35:57
【问题描述】:

如何在 spring(data)+maven 项目中建立一个简单的嵌入式数据库?

我需要开发一个简单的图形应用程序,它可以读取一些数据文件并以交互方式显示有关它的漂亮内容。数据非常重复,带有一点层次结构。但是我仍然不知道如何访问它。

出于这些原因,我想将其存储在数据库中,以便以后可以使用 DB 查询通过查询过滤器访问数据。 (开发一个持久层似乎也是个好主意)

因为它是一个小应用程序,我想使用一个 in-memory DB。

我对 java(使用适当的开发框架)和数据库很陌生。但是我在一个项目中使用了 spring、spring-data、JPA 等……我并没有真正理解它在内部是如何工作的,也无法设置它,但我发现它非常实用。

现在,我在互联网上找到了很多关于此的文档和教程,但我理解的不够多,不知道如何使它们适应我的需要。我想要的(我认为)是:

  • 使用 maven+spring
  • spring 数据(我猜)使用 Entity、JpaRepository 和 Autowired 的东西
  • 独立程序,因此从 Application.main 方法开始
  • 尽可能少和简单的依赖关系
  • 嵌入式数据库(+fast+light 如果可能)
  • 通用性很好

我填满的是:

  • 我应该把什么属性/xml-declaration放在哪里
  • 所有依赖项如何协同工作(spring、spring-data、h2、hsqldb、...)

我发现这个项目https://github.com/wrpinheiro/spring-jpa-embedded-db 看起来很合适,但是:

  • 有太多依赖项(我认为)我不需要,因此不想要
  • 我不知道如何用它启动程序
  • 我不明白 org.springframework.stereotype.Service 的东西
  • 也不是javax.inject.Inject

【问题讨论】:

  • 你可以看看db.apache.org/derby
  • 好信息,但它似乎仍应安装在执行机器上(必须设置类路径)。也许我不明白“嵌入式”是什么意思...
  • 我使用 derby 进行单元测试。但是您可能可以创建一个可运行的 jar-with-dependencies,并嵌入 derby。因此类路径在 jar Manifest 中声明。

标签: java spring maven jpa in-memory-database


【解决方案1】:

我认为,如果您查看这个项目,您就可以开始构建您需要的东西 http://spring.io/guides/gs/accessing-data-rest/#initial

它的 maven(或 gradle),嵌入了 db、spring-jpa 并作为一个 jar 运行,可以启动它自己的 tomcat 服务器(如果你愿意,你可以将其更改为战争版本)

您还可以使用 spring 提供的此服务(?)为您的项目创建起始构建: http://start.spring.io

您向他们提供您想要构建的内容,然后生成代码和所需文件:D 漂亮整齐。

【讨论】:

  • 两个问题:1)构造出来的jar是否可以独立运行? 2)是否可以删除“父”依赖项?
  • start.sping.io 很酷,但是我应该放什么依赖项/配置呢?
  • 我做了一些测试(需要删除其余的东西,maven 版本似乎有些问题)但它有效。我还是没有尝试生成jar
  • 你运行“mcn clean package”,应该会生成.jar。
  • "mvn* clean package" 我的意思是:)
猜你喜欢
  • 2016-12-26
  • 1970-01-01
  • 2015-01-08
  • 2011-04-13
  • 1970-01-01
  • 2016-07-03
  • 2023-04-01
  • 2023-03-08
相关资源
最近更新 更多