Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBootPostgreSQL_Java_Spring_Spring Boot_Hibernate_Jpa - Fatal编程技术网

Java SpringBootPostgreSQL

Java SpringBootPostgreSQL,java,spring,spring-boot,hibernate,jpa,Java,Spring,Spring Boot,Hibernate,Jpa,我正在用Spring Boot、Hibernate和PostgreSQL编写一个web应用程序。我想学习如何在DB中保存东西,但现在我无法解决我的问题。我收到一个由我的控制器引起的错误: silniaRepository.save(silniaDB); 错误只是: java.lang.NullPointerException 这是我的pom: <name>silnia</name> <description>Demo project for Spring B

我正在用Spring Boot、Hibernate和PostgreSQL编写一个web应用程序。我想学习如何在DB中保存东西,但现在我无法解决我的问题。我收到一个由我的控制器引起的错误:

silniaRepository.save(silniaDB);
错误只是:

java.lang.NullPointerException

这是我的pom:

<name>silnia</name>
<description>Demo project for Spring Boot</description>
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-    8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>8.1.5.v20120716</version>
         </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
</project>
和典型的存储库界面:

@Repository
public interface SilniaRepository extends CrudRepository<SilniaDB, Long> {

    public SilniaDB findByNumber(Integer number);
}
@存储库
公共接口SilniaRepository扩展了Crudepository{
公共SilniaDB findByNumber(整数);
}

我真的在那个问题上花了很多时间。提前感谢您的评论或回答。

您的存储库根本没有被注入

您必须为每个依赖项单独放置@Autowired

@Autowired
private SilniaService silniaService;
@Autowired
private SilniaRepository silniaRepository;
也要将这些字段设置为私有

@Repository
public interface SilniaRepository extends CrudRepository<SilniaDB, Long> {

    public SilniaDB findByNumber(Integer number);
}
@Autowired
private SilniaService silniaService;
@Autowired
private SilniaRepository silniaRepository;