Добавьте следующие зависимости для build.gradle
:
compile("org.springframework.data:spring-data-neo4j")
compile "org.neo4j.app:neo4j-server:2.1.5"
compile "org.neo4j.app:neo4j-server:2.1.5:static-web"
Файлы ресурсов ниже идут в conf/spring
.
resources.xml
:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/data/neo4j http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<context:spring-configured/>
<context:annotation-config/>
<util:map id="config">
<entry key="remote_shell_enabled" value="true"/>
</util:map>
<neo4j:config storeDirectory="target/data/db" base-package="com.example"/>
<neo4j:repositories base-package="com.example.repositories"/>
<bean id="graphDbFactory" class="org.neo4j.graphdb.factory.GraphDatabaseFactory"/>
<bean id="graphDbBuilder" factory-bean="graphDbFactory" factory-method="newEmbeddedDatabaseBuilder">
<constructor-arg value="target/data/db"/>
</bean>
<bean id="graphDbBuilderFinal" factory-bean="graphDbBuilder" factory-method="setConfig">
<constructor-arg ref="config"/>
</bean>
<bean id="graphDatabaseService" factory-bean="graphDbBuilderFinal" factory-method="newGraphDatabase"
destroy-method="shutdown"/>
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start"
destroy-method="stop">
<constructor-arg ref="graphDatabaseService"/>
</bean>
</beans>
resources.groovy
(я уверен, что это может иметь много добавили к нему от resources.xml
, но я не уверен, что нужно сделать для этого):
import com.example.MyGraph;
// Place your Spring DSL code here
beans = {
myGraph(MyGraph)
}
src/main/groovy/com/example/MyGraph.java
:
package com.example;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Transaction;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.data.neo4j.core.GraphDatabase;
@Configuration
public class MyGraph extends Neo4jConfiguration {
@Autowired
GraphDatabase graphDatabase;
}
Я кладу классы домена для Neo4j в src/main/groovy/com/example/domain
и классы хранилища в src/main/groovy/com/example/repositories
. Код примера Spring отлично работает. Существует интерфейс администратора веб-сервера для Neo4J, доступный на порту 7474 при запуске grails run-app
.
У меня возникли проблемы с приложением приложения образца Neo4j, работающим с Grails 3.0. Я открыл проблему в [Github] (https://github.com/sarmbruster/neo4jsample/issues) и не видел много разговоров по этому вопросу. Мне было бы интересно увидеть рабочую конфигурацию. – Nathan
@ Натан, плагин Grails для Neo4J, созданный Стефаном, очень сильно сломан, и я не мог заставить его работать даже с 2.4.3. Тем не менее, теперь у меня есть Spring Data Neo4J (http://projects.spring.io/spring-data-neo4j/), работающий с Grails 3, подробности ниже. – John