Frage

Wie ich in Titel geschrieben hatte, ich versuche Frühling 3.0 zu lernen (ich weiß schon, Django, Pylons und einige einfachere MVC-Frameworks) und versuchen Cassandra als Backend für meine Web-Anwendung zu verwenden.

Gibt es irgendwelche realen Welt Beispiele dafür tun? Oder vielleicht einige Tutorials? Ich weiß, über die Existenz der Dokumentation beiden Technologien, aber ich bin auf der Suche nach etwas „schneller“ zu lesen und ich rollen.

War es hilfreich?

Lösung

Ich bin der Autor von Hector https://github.com/rantav/hector , die führende Java-Client für cassandra so dass ich Sie ermutigen würde, einen Blick zu haben, was es zu bieten hat.

Während ich persönlich habe nicht tyrannisieren mit Feder verwendet wird, haben wir ein paar Beiträge erhalten, die Federunterstützung hinzugefügt. Siehe zum Beispiel https: //github.com/rantav/hector/blob/master/core/src/test/resources/cassandra-context-test-v2.xml und https://github.com/rantav/hector/blob/master/core /src/test/resources/cassandra-context-test-v2-new.xml

Andere Tipps

Wenn Sie mit MVC-Frameworks bereits vertraut sind, dann sollten Sie sich bewusst sein, dass die Datenbank / Datenspeicher Sie im Backend verwenden sollte Ihre MVC-Anwendung als Ganze nicht beeinträchtigen, oder wie Sie die Dinge strukturieren - es sollte nur Ihre Datenschicht beeinflussen und wie es Daten abruft.

Mit Spring MVC, die akzeptierten Praxis ist, dass Sie Ihr Datenmodell als eine Reihe von „Domain-Modell / classes“ darstellen, die in der Regel sind nur POJOs Ihre Daten zu halten. „Domain“ bedeutet hier, dass es zu einem Problembereich verbunden ist; also, wenn Sie eine Anwendung, die sich mit Kunden Bestellung Dinge würden Sie wollen eine Customer Klasse haben, eine Order Klasse, etc.

Anwendung Jede der drei Schichten der MVC - der Controller, der Service / Business-Logik-Schicht und die DAO-Schicht wirkt mit diesen Domäne Modellklassen. Da die DAO-Schicht für das Abrufen oder Aktualisierung dieser Daten im Backend verantwortlich ist, das bedeutet es die DAO-Schicht, die wissen muss, ist, wie von Cassandra, Ihre Customer oder Order Klasse zu holen, wie bestimmte Customer Felder zu aktualisieren, etc.

Es gibt also nichts Besonderes, wie Sie Ihren Spring MVC-Anwendung selbst bauen würden, wenn Cassandra oder andere „NoSQL“ Datenbank. Sie müssen nur müssen verschiedene Implementierungen Ihrer DAO-Klassen zu schaffen, die mit Cassandra kommunizieren können.

Wenn Sie gefragt werden, ob es irgendwelche vorgefertigten Frühling Dienstprogramme sind, die Cassandra zugreifen können (oder Thrift), dann ist die Antwort nein, zumindest so weit wie, was im Frühjahr 3.0. Dies sollte aber ziemlich einfach zu schreiben, sobald Sie die DAO-Schnittstelle Set und alle anderen Ebenen der Anwendung an der richtigen Stelle.

AFAIK gibt es kein "öffentliches" Tutorial oder Beispiel abdeckt Spring (3.0) in Verbindung mit Cassandra. Vielleicht könnten Sie schauen hinein:)

Ich würde empfehlen, bei der „Vorlage“ Terminologie im Frühjahr (zB JDBCTemplate und HibernateTemplate ) und schaffen so etwas wie ein "CassandraTemplate".

Ich glaube nicht, es gibt jede cassandra-Feder-Bibliothek zur Verfügung. Sie könnten jedoch Spring instantiate verwenden und die Bean konfigurieren, dass die Gespräche zu Cassandra und inject, dass in jede andere Bohne haben Sie, dass Ausdauer erfordert. Auf diese Weise lassen Sie können davon profitieren von Inversion of Control und allen Einrichtungen, die Frühlings-Application Angebote. Auf diese Weise können Sie den Code trennen, die von Ihrer Business-Logik und den Einsatz von Feder sich der cassandra Datenspeicher ist.

So, Ihre Komponente, dass die Gespräche zu Cassandra werden das [@Repository][1] Klischees sein, z.B. es ist ein Repository, wie ein Repository, dass die Gespräche, zum Beispiel zu einer JDBC-Datenquelle.

Ich bin mit einem Projekt beteiligt, mit Spring mit Cassandra genannt Leicht Cassandra. Eine Probe wird hier zur Verfügung gestellt:
https://weblogs.java.net / Blog / otaviojava / Archiv / 2013/08/25 / Lauf cassandra-Feder-Daten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top