【发布时间】:2018-10-30 20:41:53
【问题描述】:
我编写此代码只是为了将新数据保存到 mySql db,创建类、存储库和主控制器,它实际上适用于一个类但不适用于这个类,感谢一些指针,因为我真的不明白为什么空指针:
代码: 主控制器:
@GetMapping(path = "/addExchange")
public @ResponseBody String addNewExchange (@RequestParam String exchange)
{
//check1
System.out.println("creating Exchange constructor");
Exchange e = new Exchange();
//check 2
System.out.println("created exchange constructor, " + exchange);
e.setE_name(exchange);
//check 3
System.out.println("Exhange name is, " + e.getE_name());
//check 4
System.out.println(e);
exchangeRepository.save(e);
return "Saved Exchange";
}
Eclipse 控制台的输出错误: 我下面的检查显示对象是从映射中提取的: - 创建 Exchange 构造函数 - 创建交换构造函数,橙色 - 交易所名称是,orange - 交换 [idexchange=0, e_name=orange]
2018-05-21 15:59:43.528 错误 5118 --- [nio-8080-exec-4] oaccC[.[.[/].[dispatcherServlet]:Servlet.service() 用于 servlet [dispatcherServlet]在路径 [] 的上下文中抛出异常 [请求处理失败;嵌套异常是 java.lang.NullPointerException] 的根本原因
java.lang.NullPointerException: null 在 com.instantmoney.MoneyServices.MainController.addNewExchange(MainController.java:47) ~[classes/:na]
交换存储库:
public interface ExchangeRepository extends CrudRepository<Exchange, Long> {
}
交流课
@Entity
public class Exchange {
@Id
@GeneratedValue (strategy = GenerationType.AUTO)
private int idexchange;
private String e_name;
public Exchange() {}
//getter 和 setter
卷曲
http://localhost:8080/moneyservice/addExchange?exchange=orange
【问题讨论】:
-
我认为
exchangeRepository为空,您可以添加MainController代码吗? -
由于我们看不到您的原始行号,请在您的代码中标记此行:MainController.java:47
-
@GetMapping(path = "/addExchange") public @ResponseBody String addNewExchange(@RequestParam String exchange) { //check1 System.out.println("创建Exchange构造函数");交易所 e = new Exchange(); //check 2 System.out.println("创建了exchange构造函数," + exchange); e.setE_name(交换); //check 3 System.out.println("交易所名称是," + e.getE_name()); //检查 4 System.out.println(e); exchangeRepository.save(e); return "已保存的交易所"; }
-
请在 Repository 类中使用 @Repository 注解,然后将其自动装配到 Controller...它应该可以工作。
-
@Eihab 你可以编辑你的帖子添加代码,请不要在评论中添加代码...
标签: java mysql spring hibernate