是否有任何将Spring 3.0与Cassandra一起使用的示例/教程作为后端?[已关闭]

正如我在title中所写的那样,我正在尝试学习Spring 3.0(我已经知道Django,Pylons和几个更简单的MVC框架),并尝试使用Cassandra作为我的Web应用程序的后端。

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


答案 1

我是Hector https://github.com/rantav/hector 的作者,这是cassandra领先的java客户端,所以我鼓励你看看它能提供什么。

虽然我个人没有在弹簧上使用hector,但我们确实得到了一些增加弹簧支持的贡献。例如,请参见 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


答案 2

如果您已经熟悉 MVC 框架,那么您应该知道,在后端使用哪个数据库/数据存储不应影响整个 MVC 应用程序,也不应影响构建内容的方式 - 它应该只影响您的数据层以及它检索数据的方式。

使用Spring MVC,公认的做法是将数据模型表示为一系列“域模型/类”,这些模型/类通常只是保存数据的POJO。这里的“域”意味着它与您的问题域相关;因此,如果您有一个处理客户订购东西的应用程序,您将希望有一个类,一个类等。CustomerOrder

MVC 应用程序的三个层(控制器、服务/业务逻辑层和 DAO 层)中的每一层都与这些域模型类进行交互。由于DAO层负责在后端检索或更新此数据,这意味着DAO层需要知道如何从Cassandra获取您的或类,如何更新某些字段等。CustomerOrderCustomer

因此,在使用Cassandra或任何其他“NoSQL”数据库时,如何构建Spring MVC应用程序本身没有什么特别之处。你只需要提供可以与Cassandra通信的DAO类的不同实现。

如果你问是否有任何预建的Spring实用程序可以访问Cassandra(或Thrift),那么答案是否定的,至少就Spring 3.0中的内容而言。但是,一旦您设置了DAO接口和应用程序的所有其他层,编写起来应该非常简单。


推荐