【问题标题】:JdbcTemplate.execute() throws exception Spring BootJdbcTemplate.execute() 抛出异常 Spring Boot
【发布时间】:2016-09-26 14:16:54
【问题描述】:

我是 Spring Boot 的新手,我只想制作一个简单的 Spring Boot Web 应用程序来显示数据库中的条目。我使用 H2 作为数据库。但是,我发现当我尝试在数据库中创建表时,我的 Web 应用程序抛出异常。下面是处理数据库的代码:

private void initDB(){
    jdbcTemplate.execute("CREATE TABLE users(" + "id SERIAL, firstName VARCHAR(255), lastName VARCHAR(255), emailAddress VARCHAR(255), dateOfBirth VARCHAR(255))");
    initialized=true;
}

这是它给出的错误:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

你能告诉我我做错了什么吗?

提前谢谢你!!!

【问题讨论】:

  • 请使用该方法显示更多类的代码(尤其是创建该类实例的位置)。如果您自己创建一个实例(使用 new 关键字),那就是问题所在。确保该类被配置为 Spring bean 并由 Spring 实例化)。
  • 问题是我的班级确实配置得很好,以便 JdbcTemplate 正常工作。在 Controller 类中完成工作后,一切正常。

标签: java spring spring-mvc h2 jdbctemplate


【解决方案1】:

我认为您没有得到 jdbctemplate 对象来修复该问题,请使用正确的名称查看依赖注入。

【讨论】:

  • 我的 jdbcTemplate 声明为 @Autowired JdbcTemplate jdbcTemplate,如果你是这个意思的话。
  • 是的,在学习使用其他注入时删除自动装配,自动装配也可以,但您需要为此进行额外配置
  • 好的,你能给我举一些适合 JdbcTemplate 的其他注射的例子吗,或者给我一个阅读更多关于它们的地方?
  • 使用下面的网站供您参考,您将从该教程中获得所有答案。
  • Autowired 工作得非常好(不要在 Spring Boot 中使用 XML,这不是必需的)。
猜你喜欢
  • 2019-09-19
  • 2020-02-05
  • 1970-01-01
  • 2019-01-24
  • 2018-12-30
  • 2018-06-22
  • 2018-10-22
  • 2016-09-13
  • 1970-01-01
相关资源
最近更新 更多