NEO4J的下载配置和在springboot下的整合

379 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情

引言

最近工作室要重构一个东西,要改用NEO4J实现(NoSQL,一种非关系型数据库)来实现,于是我便开始了NEO4J的学习之旅,这篇文章带大家下载配置和springboot整合NEO4J的依赖及一些使用。

下载

这里我们找到NEO4J的官网

Neo4j 桌面下载|免费图形数据库下载

然后进入

NEO4J.jpg

这里我们选择下面的第一个(红色圈起来的地方)

然后点击进去

然后我们可以选择对应的版本

这里我选择社区版

image.png

然后选择对应的版本下载压缩包并解压就ok啦

解压之后就可以用了,无需安装

踩坑及解决

笔者在下好并完成配置之后,我使用了neo4j.bat console来启动服务

但是确爆了很多错误

ERROR! Neo4j cannot be started using java version 1.8.0_281
等等一大堆

查了一下,原来是jdk的版本的问题

这里我们有两个解决方案

版本冲突解决方案一

我们如果选择了较新版本的NOE4J后,JDK8不支持,我们可以更换JDK的版本

版本冲突解决方案二

我们也可以选择低版本的NEO4J,这里笔者选择这种方法,因为我用的是JDK8,所以我们这里选择Neo4j 3.5.35 (zip)

重新启动,便成功了

image.png

(小tip : ctrl + c停止服务)

环境的配置

我们的NEO4J不需要安装,解压后即可使用,但为了方便等原因,我们仍需要进行环境的配置

我们首先右键此电脑 然后选择属性 然后选择高级系统设置,然后选择环境变量 然后我们新建一个系统变量 NOE4J_HOME然后选择NEO4J压缩包解压之后的文件

然后我们编辑 PATH,为其加入 %NOE4J_HOME%\bin

接下来我们一路确定

打开cmd

输入 neo4j.bat console

完成启动

在springboot中为其添加依赖

pom.xml配置如下:(也可以在创建springboot时手动勾选NOE4J的依赖,在NoSQL中)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.3.7.RELEASE</spring-boot.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-neo4j</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.3.7.RELEASE</version>
                <configuration>
                    <mainClass>com.example.demo.DemoApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>

然后我们刷新Maven,等待其完成依赖的下载及导入(也可以配置阿里云,加快速度)

最后

NEO4J具体的操作可以参考相关的的文档。