I dette kapitlet vil vi diskutere hvordan å utvikle en Spring Framework prosjekt å jobbe med Neo4j Database. 
 
 Spring DATA Neo4j Mannskaps Stempler 
 
 Vi kommer å bruke følgende Spring Framework Stempler å utvikle dette programmet. 
 S.No. 
 
1. @ GraphEntityTo definere domene klasse en Neo4j Entity2. GraphIDTo definere Node eller Sivil id3. @ GraphPropertyTo definere node eller relasjonsegenskaper
 Før utvikle programmet, kan du se "Neo4j Spring DATA Miljø Setup" kapittel til setup Maven Eclipse IDE-prosjektet. 
 
 Kort trinn å gjennomføre Spring DATA Neo4j Søknad - 
 
 
 Utvikle Graph Entity eller Domain eller POJO Klasser 
 
 
 Utvikle DAO eller Resurser 
 
 
 Utvikle Tjenesten Layer (om nødvendig) 
 
 
 Våren DATA Neo4j XML-konfigurasjoner 
 
 Vi har nå demonstrere hvordan man kan utvikle en Maven basert Spring DATA søknad i Eclipse IDE å utføre Neo4j DB Operations. 
 
 Utvikle Graph Entity eller Domain eller POJO Klasser 
 
 Vi bør gjennomføre equals () og hashCode () metoder. 
 
 Det er ikke nødvendig å gi Settere metode for "id" eiendom fordi Neo4j vil ta seg av å tildele denne eiendommen 
 pakken com.tp.springdata.neo4j.domain, import org.springframework.data.neo4j.annotation.GraphId; import org.springframework.data.neo4j .annotation.NodeEntity;NodeEntitypublic klasse GoogleProfile {GraphId Long id; private String navn; private String adresse; private String sex; private String dob; offentlig Long getId () {return id; } Public String getName () {return navn; } Public void setName (String navn) {this.name = navn; } Public String getAddress () {return adresse; } Public void setAddress (String adresse) {this.address = adresse; } Public String getSex () {return sex; } Public void setSex (String sex) {this.sex = sex; } Public String getDob () {return dob; } Public void setDob (String dob) {this.dob = dob; } Public boolean equals (Object andre) {if (denne == andre) return true; if (id == null) return false; if ((annet instanceof GoogleProfile)!) return false; returnere id.equals (((GoogleProfile) andre) .id); } Public int hashCode () {return id == null? System.identityHashCode (denne): id.hashCode (); } Public String toString () {return "Profil [id:" + id + ", navn:" + navn + ", sex:" + sex + ", adresse:" + adresse + ", dob:" + dob + "] "; }} 
GraphProperty er valgfritt, slik at vi kan utelate dette. Fremfor Entity er samme som under 
 pakken com.tp.springdata.neo4j.domain;. Import org.springframework.data.neo4j.annotation.GraphId, import org.springframework.data.neo4j.annotation.NodeEntity;NodeEntitypublic klasse GoogleProfile {GraphId privat Long id; private String navn; private String adresse; private String sex; private String dob; //Getter for id //settere og Getters for resten av eiendommer //implementere equals () og hashCode () metoder} 
  Utvikle Spring DATA Neo4j Repository. 
 
 Som vi diskuterte tidligere, må vi utvikle bare grensesnittet ved å utvide Spring DATA Neo4j API-grensesnitt "GraphRepository" og ikke nødvendig gjennomføringen. 
 
 Spring DATA Neo4j vil ta seg av å gi implementeringen for dette grensesnittet internt. 
 
  Definer en Repository eller DAO grensesnitt for vår Domain Klasse: GoogleProfile 
 pakken com.tp.springdata.neo4j.dao, import org.springframework.data.neo4j.repository.GraphRepository; felles grensesnitt GoogleProfileRepository strekker GraphRepository < GoogleProfile > {} 
 Det er veldig lett og enkel å implementere Spring DAT Neo4j depotet. Vi trenger bare å definere et grensesnitt ved å utvide GraphRepository ved å angi vårt domene klassen som en parameter 
 
  Utvikle service laget Artifacts:. Grensesnitt og implementering. 
 
 Det er god praksis å gi en tjeneste laget i vår applikasjon på toppen av DAO lag 
 
 Tjenestearti 
 
  Service Component Interface:. 
 
 pakken com.tp.springdata.neo4j.service, import org.springframework.data.neo4j.conversion.Result, import com.tp.springdata.neo4j.domain.GoogleProfile; felles grensesnitt GoogleProfileService {GoogleProfile lage (GoogleProfile profil ); void slette (GoogleProfile profil); GoogleProfile findById (lang id); Resultatet < GoogleProfile > findAll ();} 
  Service Component Gjennomføring: 
 pakke com.tp.springdata.neo4j.service, import org.springframework.beans.factory.annotation.Autowired; import org.springframework. data.neo4j.conversion.Result, import org.springframework.stereotype.Service, import com.tp.springdata.neo4j.dao.GoogleProfileRepository, import com.tp.springdata.neo4j.domain.GoogleProfile;Service ("googleProfileService") public class GoogleProfileServiceImpl implementerer GoogleProfileService {Autowired privat GoogleProfileRepository googleProfileRepository; offentlig GoogleProfile opprette (GoogleProfile profil) {return googleProfileRepository.save (profil); } Public void slette (GoogleProfile profil) {googleProfileRepository.delete (profil); } Public GoogleProfile findById (lang id) {return googleProfileRepository.findOne (id); } Public Resultat < GoogleProfile > findAll () {return googleProfileRepository.findAll (); }} 
 Spring DATA Neo4j XML-konfigurasjoner 
 
 Å kjøre Spring-baserte applikasjoner, trenger vi å gi noen XML konfigurasjoner. 
 
 Vi trenger å oppgi følgende informasjon i Spring XML konfigurasjonsfilen 
 
  Gi Spring data Neo4j navne 
 xmlns: neo4j = http: //www.springframework.org/schema/data/neo4j 
  Gi Spring data Neo4j Schema Definition ( XSD-fil) 
 xsi: schemaLocation = "http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd "
 fjær neo4j.xsd filen inneholder alle Spring data Neo4j relatert XML-koder 
 
  gi våre Neo4j Database plassering og våre Graf Entities (Domain eller POJO klasser) grunnpakken 
 < neo4j: config storeDirectory = "C: \\ TPNeo4jDB"? grunnpakke = "com.tp.springdata.neo4j.domain" /> 
 Her storeDirectory = "C: \\ TPNeo4jDB" definerer våre Neo4j Database-filer er lagret på C:. \\ TPNeo4jDB plassering i vår filsystemet 
 
 grunnpakke = "com.tp.springdata.neo4j.domain" 
 
 Alle våre Graf Entities har com.tp.springdata. neo4j.domain som grunnpakken i vår søknad CLASSPATH 
 
  Gi vår Spring data Neo4j Resurser (DAO Interface) grunnpakken 
 < neo4j. repositories grunnpakke = "com. tp.springdata.neo4j.dao "/>? 
 Alle våre Spring data Neo4j Resurser er tilgjengelig på com.tp.springdata.neo4j.dao pakke i vår søknad CLASSPATH 
 
  Gi Spring konfigurasjon å registrere Annotated komponenter med Spring IOC Container 
 < kontekst:.? komponent-scan grunnpakke = "com.tp.springdata.neo4j.service" /> 
 Alle våre komponenter eller tjenester er tilgjengelig på "com.tp.springdata.neo4j.service" pakken i vår søknad CLASSPATH 
 
 Complete "googleprofile.xml" 
 <? xml version = "1.0" encoding = "UTF-8" frittstående ? = "no" > < bønner xmlns = "http://www.springframework.org/schema/beans~~number=plural" xmlns: kontekst = "http://www.springframework.org/schema/context~~number=plural" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns: neo4j = "http://www.springframework.org/schema/data/neo4j~~number=plural" xmlns: tx = "http: //www.springframework .org /schema /tx "xsi: schemaLocation =" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http: //www. springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/neo4j http://www.springframework.org /schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> < kontekst: komponent-scan grunnpakke = "com.tp.springdata.neo4j.service" /> < neo4j: config storeDirectory = "C: \\ TPNeo4jDB" base-pakke = "com.tp.springdata.neo4j.domain" /> < neo4j: repositories grunnpakke = "com.tp.springdata.neo4j.dao" /> < tx: merknad drevet /> < /bønner > 
  Utvikle Test programmet og teste alle operasjoner 
 import java.util.Iterator, import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext, import org.springframework.data.neo4j.conversion.Result, import com.tp.springdata.neo4j.service.GoogleProfileService, import com.tp.springdata.neo4j.domain.GoogleProfile; public class GoogleProfileTest {public static void main (String [] args) {ApplicationContext sammenheng = new ClassPathXmlApplicationContext ("googleprofile.xml"); GoogleProfileService service = (GoogleProfileService) context.getBean ("googleProfileService"); //Vennligst uncomment en av driften delen //og kommentar resterende delen for å teste bare en operasjon om gangen //Her har jeg uncommented CREATE drift og //kommen andre operasjoner: FINN EN, Finn alle, SLETT //CREATE Operation GoogleProfile profil = createPofile (); createProfile (service, profil); System.out.println ("GoogleProfile opprettet."); //FINN ONE /* GoogleProfile profil = getOneProfileById (service, 67515L); System.out.println (profil); * ///FINN ALL /* getAllProfiles (tjenesten); * ///SLETT /* GoogleProfile profil = createPofile (); deleteProfile (service, profil); System.out.println ("GoogleProfile slettet."); * /} Private static GoogleProfile createProfile (GoogleProfileService service, GoogleProfile profil) {return service.create (profil); } Private static void deleteProfile (GoogleProfileService service, GoogleProfile profil) {service.delete (profil); } Private static GoogleProfile getOneProfileById (GoogleProfileService service, Long id) {return service.findById (id); } Private static void getAllProfiles (GoogleProfileService tjeneste) {Resultat < GoogleProfile > Resultatet = service.findAll (); Iterator < GoogleProfile > iterator = result.iterator (); while (iterator.hasNext ()) {System.out.println (iterator.next ()); }} Private static GoogleProfile createPofile () {GoogleProfile profil = new GoogleProfile (); profile.setName ("Profil-2"); profile.setAddress ("Hyderabad"); profile.setSex ("Mann"); profile.setDob ("02/02/1980"); avkastningsprofil; }} 
 Jeg har uncommented bare for CREATE drift og kommen resten av 3 operasjoner. 
 
 Hvis du vil teste andre operasjoner, jut kommentar uønsket delen og uncomment ønsket seksjon og teste dette programmet 
 
  Final Eclipse Maven prosjekt struktur 
 
  NB: - 
 
 Når vi kjører dette programmet, må du sørge for at vår Neo4j Database server bør være i SHUTDOWM staten. 
 
  Før du utfører denne Java Program, sjekk din Neo4j er i avslutningsmodus eller ikke. Hvis ikke, klikker du på "Stop" knappen til showdown det. 
 
  Kjør GoogleProfileTest.java søknad og se resultatene 
 
 Når vi kjører dette CREATE operasjon i Eclipse IDE, kan vi observere følgende meldinger i konsollen 
 
 Etter utførelse av visse operasjoner, så starte Neo4j Database server ved å klikke på "Start" -knappen 
 
 Åpne Neo4j dataleseren ved hjelp av http.: //localhost: 7474 /url 
 
  Skriv under kommando på dataleseren 
 
  Klikk på "Execute" -knappen og observere resultatene 
 
 
 Så langt har vi opprettet 3 GoogleProfile noder. 
 

