java - Spring boot JPA空指针异常

标签 java spring-boot spring-data-jpa h2

我正在使用 Spring Boot、JPA 和 H2 开发 JavaFx 应用程序。当我尝试将新用户添加到数据库中时,我有一个用户实体,它会在按钮的单击操作上在 Controller 中抛出 NPE。正如所见,我只使用 Autowiring 符号。我研究过 但调查结果并没有帮助。请问有什么帮助吗?

package com.core;

@SpringBootApplication
@Import(SharedSpringConfiguration.class)
public class Runner extends Application {

   private ConfigurableApplicationContext context;

   public static void main(String[] args) {
     launch(args);        
   }

   @Override
   public void init() {
    context = SpringApplication.run(Runner.class);
   }
}
package com.dao;

@Entity
@Table(name = "user")
public class User {

    @Id
    @Column(name = "id", updatable = false, nullable = false)
    private long ID;
    @Column(nullable = false)
    private String userName;
    @Column(nullable = false)
    private String userPass;

    public User() {
    }

    public User(long ID, String userName, String userPass) {
        this.ID = ID;
        this.userName = userName;
        this.userPass = userPass;
    }
}
package com.service;

@Service
public class UserService {

   @Autowired
   private UserRepository userRepository;

   public UserService() {
   }

   public void saveUser(User user) {
     userRepository.save(user);
   }
}
package com.repository;
public interface UserRepository extends CrudRepository<User, Long> {}
package com.controller

@Controller
public class MethodController implements Initializable {

  @Autowired
  private UserService userService;

  @FXML
  void methodSave(MouseEvent event) {
    userService.saveUser(new User(11, "TestUser", "noPass")); //Throws NPE. Indicates that userService is null. But I autowire the userService.
  }
}

最佳答案

我不知道 SharedSpringConfiguration 中有什么,但您的配置类之一可能需要 @EnableJpaRepositories。 CrudRepo 上的 @Repository 应该是不必要的。

关于java - Spring boot JPA空指针异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486958/

相关文章:

java - 如何在 Spring Data JPA @Modifying @Query 查询中更新 JPA/Hibernate @Version 字段?

java - Spring JPA REST 一对多

java - CalendarFX 结合 JavaFX : Module javafx. 未找到控件

java - Spring Boot 应用程序无法热插拔更改

java - 如何通过 maven-failsafe-plugin 运行基于 spring-boot 的应用程序的集成测试?

java - Spring 启动: disable security auto configuration

java - Hibernate/JPA - 仅在表存在时才对表进行操作

使用 Java 从 OMDB (IMDB) API 进行 Java JSON 解码

java - 如何基于公共(public)字段使用 Jackson 抽象反序列化不同的枚举类型?

java - 将 Json 对象存储到 HashMap 中