example Вы используете некоторые настройки, чтобы включить браузер Neo4j. Я начал с другого примера, пример Accessing Data with Neo4j, и он работал хорошо.
Вам нужно будет сделать следующее:
Изменения версии на вашем весеннюю загрузку П в 1.2.1.Release:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.1.RELEASE</version>
</parent>
Добавить зависимости для Neo4jServer:
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>2.1.5</version>
</dependency>
<dependency>
<groupId>org.neo4j.app</groupId>
<artifactId>neo4j-server</artifactId>
<version>2.1.5</version>
<classifier>static-web</classifier>
</dependency>
Внедрение бегуна командной строки Spring Boot в ваших Applicati on.class:
public class Application extends Neo4jConfiguration implements CommandLineRunner{
Autowire ссылку на ваш GraphDatabaseService в вашем Application.class:
@Autowired
GraphDatabaseService db;
@Override метода выполнения от CommanLineRunner в вашем Application.class:
@Override
public void run(String... strings) throws Exception {
// used for Neo4j browser
try {
WrappingNeoServerBootstrapper neoServerBootstrapper;
GraphDatabaseAPI api = (GraphDatabaseAPI) db;
ServerConfigurator config = new ServerConfigurator(api);
config.configuration()
.addProperty(Configurator.WEBSERVER_ADDRESS_PROPERTY_KEY, "127.0.0.1");
config.configuration()
.addProperty(Configurator.WEBSERVER_PORT_PROPERTY_KEY, "8686");
neoServerBootstrapper = new WrappingNeoServerBootstrapper(api, config);
neoServerBootstrapper.start();
} catch(Exception e) {
//handle appropriately
}
// end of Neo4j browser config
}
Когда все будет готово, ваш Application.class должен выглядеть следующим образом:
package hello;
import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.factory.GraphDatabaseFactory;
import org.neo4j.kernel.GraphDatabaseAPI;
import org.neo4j.server.WrappingNeoServerBootstrapper;
import org.neo4j.server.configuration.Configurator;
import org.neo4j.server.configuration.ServerConfigurator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.neo4j.config.EnableNeo4jRepositories;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration;
@Configuration
@EnableNeo4jRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration
public class Application extends Neo4jConfiguration implements CommandLineRunner{
public Application() {
setBasePackage("hello");
}
@Bean(destroyMethod = "shutdown")
public GraphDatabaseService graphDatabaseService() {
return new GraphDatabaseFactory().newEmbeddedDatabase("target/hello.db");
}
@Autowired
GraphDatabaseService db;
@Override
public void run(String... strings) throws Exception {
// used for Neo4j browser
try {
WrappingNeoServerBootstrapper neoServerBootstrapper;
GraphDatabaseAPI api = (GraphDatabaseAPI) db;
ServerConfigurator config = new ServerConfigurator(api);
config.configuration()
.addProperty(Configurator.WEBSERVER_ADDRESS_PROPERTY_KEY, "127.0. 0.1");
config.configuration()
.addProperty(Configurator.WEBSERVER_PORT_PROPERTY_KEY, "8686");
neoServerBootstrapper = new WrappingNeoServerBootstrapper(api, config);
neoServerBootstrapper.start();
} catch(Exception e) {
//handle appropriately
}
// end of Neo4j browser config
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Браузер Neo4j будет доступен на хост и порт, сконфигурированный в методе run()
.
Существует уже подобный вопрос http://stackoverflow.com/questions/21658546/how-can-i-use-the-webadmin-interface-with-an-embedded-neo4j-2-0 -instance – mavarazy
Благодарим вас за предложение. Главный ответ в вопросе, на который вы ссылаетесь, предлагает конфигурацию, основанную на папке webapp, в дополнение к pom. Насколько я понимаю, использование Spring Boot и встроенного сервера tomcat обходит необходимость в папке webapp и т. Д., Поэтому конечные точки конфигурации этих двух вопросов не идентичны. Мой вопрос в частности о запуске интерфейса webadmin, начиная с кода «Accessing Neo4j Data with REST», который уменьшает шум сферы действия вопроса. Любая помощь, получающая это для работы, очень ценится! –