正如我在标题中所写的,我正在尝试学习 Spring 3.0(我已经了解 Django、Pylons 和一些更简单的 MVC 框架)并尝试使用 Cassandra 作为我的 Web 应用程序的后端。

现实世界中有这样做的例子吗?或者也许一些教程?我知道这两种技术的文档的存在,但我正在寻找“更快”的东西来阅读并让我滚动。

有帮助吗?

解决方案

我是《赫克托耳》的作者 https://github.com/rantav/hector, 是 cassandra 的领先 Java 客户端,因此我鼓励您看看它所提供的功能。

虽然我个人没有将 hector 与 spring 一起使用,但我们确实得到了一些增加了 spring 支持的贡献。参见示例 https://github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2.xmlhttps://github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2-new.xml

其他提示

如果您已经非常熟悉的MVC框架,那么你应该知道,你在后端使用的数据库/数据存储不应该作为一个整体影响你的MVC应用程序,或者你如何组织的事情 - 它只会影响您的数据层以及它如何检索数据。

使用Spring MVC中接受的做法是,你代表你的数据模型作为一系列的“域模型/班”,这是典型的POJO只是握住你的数据。 “域”在这里的意思,这是关系到你的问题域;所以如果你有与客户订购的东西涉及的应用程序你想有一个Customer类,一类Order等。

每个您的MVC应用的三层 - 控制器,所述服务/业务逻辑层,和DAO层与这些域模型类交互。由于DAO层负责在后端检索或更新该数据,这意味着它是一个需要知道如何从卡桑德拉获取您的CustomerOrder类DAO层,如何更新某些Customer字段等

因此,有什么特别的地方使用卡桑德拉或任何其他“的NoSQL”数据库时,你将如何建立你的Spring MVC应用程序本身。你只需要提供你的DAO类的不同实现可以与卡桑德拉沟通。

如果你问是否有可以访问卡桑德拉(或储蓄),那么答案是否定的,至少至于什么是在Spring 3.0的任何预建春工具。不过,这应该是很简单的写,一旦你有DAO接口集中在地方应用程序的所有其他层。

AFAIK 没有涵盖 Spring (3.0) 与 Cassandra 结合的“公共”教程或示例。所以也许你可以研究一下:)

我建议开始查看 Spring 中的“模板”术语(例如 JDBC模板Hibernate模板)并创建类似“CassandraTemplate”的内容。

我不认为有任何可用的卡桑德拉弹簧库。但是,你可以使用Spring来实例化和配置会谈卡桑德拉豆,并注入到这一点,你有一个需要持久其它bean。这样,你可以让它从反演的控制,所有的Spring的ApplicationContext提供的设施中获益。 这样,你可以分离知道从你的业务逻辑和使用弹簧卡桑德拉数据存储的代码。

所以,你的组件会谈卡桑德拉将是[@Repository][1]铅板的,例如它是一个信息库,就像,讨论,例如以一个JDBC数据源的储存库。

我参与了使用Spring与卡桑德拉一个项目叫做易卡桑德拉。样本在这里提供:搜索结果 https://weblogs.java.net /博客/ otaviojava /存档/ 2013/08/25 /运行卡桑德拉 - 弹簧 - 数据

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top