タイトルに書いたように、私は Spring 3.0 を学び (Django、Pylons、およびいくつかの単純な MVC フレームワークを既に知っています)、Web アプリケーションのバックエンドとして Cassandra を使用しようとしています。
これを行う実際の例はありますか? それともいくつかのチュートリアルですか?私は両方のテクノロジーのドキュメントの存在を知っていますが、「より速く」読んで理解できるものを探しています。
タイトルに書いたように、私は Spring 3.0 を学び (Django、Pylons、およびいくつかの単純な MVC フレームワークを既に知っています)、Web アプリケーションのバックエンドとして Cassandra を使用しようとしています。
これを行う実際の例はありますか? それともいくつかのチュートリアルですか?私は両方のテクノロジーのドキュメントの存在を知っていますが、「より速く」読んで理解できるものを探しています。
私はcassandra の主要な Java クライアントである Hector https://github.com/rantav/hectorの作成者です。
私は個人的に春にヘクターを使用していませんが、春のサポートを追加するいくつかの貢献を得ました。たとえば、https://github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2.xml および https://github.com/rantav/hector/blob を参照してください。 /master/core/src/test/resources/cassandra-context-test-v2-new.xml
私の知る限り、Cassandra と組み合わせて Spring (3.0) をカバーする「公開」チュートリアルや例はありません。だから多分あなたはそれを調べることができます:)
Spring の「テンプレート」用語 ( JDBCTemplateやHibernateTemplateなど) を調べて、「CassandraTemplate」のようなものを作成することをお勧めします。
すでに MVC フレームワークに精通している場合は、バックエンドで使用するデータベース/データストアが、MVC アプリケーション全体や物事の構造に影響を与えるべきではないことに注意する必要があります。データ層とその方法にのみ影響する必要があります。データを取得します。
Spring MVC では、データ モデルを一連の「ドメイン モデル / クラス」として表現することが受け入れられています。これは通常、データを保持するための単なる POJO です。ここでの「ドメイン」は、問題のドメインに関連していることを意味します。Customer
したがって、顧客の注文を処理するアプリケーションがある場合は、クラス、Order
クラスなどを作成する必要があります。
MVC アプリケーションの 3 つのレイヤー (コントローラー、サービス/ビジネス ロジック レイヤー、DAO レイヤー) のそれぞれが、これらのドメイン モデル クラスと対話します。DAOレイヤーはバックエンドでこのデータを取得または更新する責任があるため、CassandraからクラスCustomer
またはクラスをフェッチする方法、特定のフィールドを更新する方法などを知る必要があるのはDAOレイヤーであることを意味します.Order
Customer
したがって、Cassandra やその他の「NoSQL」データベースを使用する場合、Spring MVC アプリケーション自体を構築する方法について特別なことは何もありません。Cassandra と通信できる DAO クラスのさまざまな実装を提供する必要があるだけです。
Cassandra (または Thrift) にアクセスできるビルド済みの Spring ユーティリティがあるかどうかを尋ねる場合、少なくとも Spring 3.0 にあるものに関しては、答えはノーです。しかし、DAO インターフェイスを設定し、アプリケーションの他のすべてのレイヤーを配置したら、これを書くのは非常に簡単です。
利用可能なcassandra-springライブラリはないと思います。ただし、Spring を使用して、Cassandra と通信する Bean をインスタンス化および構成し、永続性を必要とする他の Bean にそれを注入することができます。そうすれば、Inversion Of Control と Spring ApplicationContext が提供するすべての機能の恩恵を受けることができます。そうすれば、cassandra データストアを認識しているコードをビジネス ロジックから分離し、Spring を使用できます。
したがって、Cassandra と対話するコンポーネントは[@Repository][1]
ステレオタイプになります。たとえば、JDBC データソースなどと対話するリポジトリのように、それはリポジトリです。
Easy Cassandra という Cassandra で Spring を使用するプロジェクトに携わっています。サンプルはこちらにあります:
https://weblogs.java.net/blog/otaviojava/archive/2013/08/25/run-cassandra-spring-data