Java 弹簧错误连接被拒绝

Java 弹簧错误连接被拒绝,java,spring,spring-boot,Java,Spring,Spring Boot,我正在学习关于spring的教程,到目前为止,我的代码允许您添加一个用户并查看所有用户。我现在尝试包括删除功能。我添加了下面的代码来实现这一点。我相信这和教程中显示的完全一样,但结果我得到了错误的连接。在本教程中,这个错误最初显示出来,但在刷新时消失了,但在我的例子中没有 index.html <a href="#" th:href="@{/user/delete/}+${user.id}">Delete</a> userController.java @Request

我正在学习关于spring的教程,到目前为止,我的代码允许您添加一个用户并查看所有用户。我现在尝试包括删除功能。我添加了下面的代码来实现这一点。我相信这和教程中显示的完全一样,但结果我得到了错误的连接。在本教程中,这个错误最初显示出来,但在刷新时消失了,但在我的例子中没有

index.html

<a href="#" th:href="@{/user/delete/}+${user.id}">Delete</a>
userController.java

@RequestMapping(value = "/delete/{user}", method = RequestMethod.GET)
@ResponseBody
public String delete(@PathVariable User user)
{
    String name = user.getFirstname()+" "+user.getLastname();
    userService.delete(user);
    return name;
}
application.properties添加到此行的位为;文件锁定=FS

我注意到在spring boot中,我现在得到了以下信息,我知道这些信息引用了我刚刚添加的用于删除的锁定方法,但不确定这是否是我被拒绝连接的原因,因为教程做了同样的事情,但仍然有效:

2018-01-24 16:18:54.446警告6589-[重新启动主服务器] o、 h.e.j.e.i.JDBCEnvironment启动器:HH000342:无法获取 连接到查询元数据:不支持的文件锁定方法FS [90060-196]2018-01-24 16:18:54.447警告6589-[restartedMain] ationConfigEmbeddedWebApplicationContext:遇到异常 在上下文初始化期间-取消刷新尝试: org.springframework.beans.factory.BeanCreationException:错误 创建在类路径中定义了名为“entityManagerFactory”的bean 资源 [org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaaautoconfiguration.class]: 调用init方法失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的 服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]2018-01-24 16:18:54.447信息6589-[restartedMain] o、 apache.catalina.core.StandardService:停止服务[Tomcat] 2018-01-24 16:18:54.454信息6589-[重新启动主站] AutoConfigurationReportLogging初始值设定项:

启动ApplicationContext时出错。显示自动配置 报告在启用“调试”的情况下重新运行应用程序。2018-01-24 16:18:54.459错误6589-[restartedMain] o、 s.boot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.BeanCreationException:错误 创建在类路径中定义了名为“entityManagerFactory”的bean 资源 [org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaaautoconfiguration.class]: 调用init方法失败;嵌套异常是 org.hibernate.service.spi.ServiceException:无法创建请求的 服务[org.hibernate.engine.jdbc.env.spi.jdbc环境]

更新

h2数据库的文档中提到了文件锁,那么为什么这是一种不受支持的方法呢

文件锁定方法“FS”这是版本1.4和的默认模式 更新的。此数据库文件锁定机制使用本机文件系统 锁定数据库文件。在这种情况下不创建*.lock.db文件, 并且没有启动后台线程。这种机制可能无法在计算机上运行 所有系统按预期运行。有些系统允许锁定同一个文件 在同一虚拟机内和某些系统上多次 本机文件锁定不受支持,或文件在锁定后未解锁 停电

要启用此功能,请附加;将FILE_LOCK=FS添加到数据库URL

这一功能相对较新。用于生产时,请 确保您的系统确实按照预期锁定了文件


Spring启动应用程序启动似乎失败。你的服务器没有启动。根据日志,创建bean entityManagerFactory失败。这是因为,, FS是不受支持的文件锁定方法。请检查这是否是有效的,是你需要的。尝试删除此项并检查其是否有效

spring.datasource.driver-class-name=org.h2.Driver

spring.datasource.url=jdbc:h2:file:./database.h2;FILE_LOCK=FS

spring.jpa.hibernate.ddl-auto=update

如果其他人遇到同样的问题,添加第三行可以解决此问题。

创建名为的bean时出错这是一个应用程序启动错误。您的服务器尚未启动。尝试修复此问题。我已将更新添加到问题。谢谢你的回复。至少我知道为什么它现在并没有提供一个页面。我在问题中添加了更新。谢谢你的回复。至少我知道为什么它现在没有一个页面。很明显的问题,但是,你的h2版本?这可能是很明显的问题,但我不知道如何检查。我是通过intellij设置的,但还没有使用它的实际经验,因为我刚刚开始通过教程了解更多信息。您的项目中有pom.xml或.gradle文件吗?如果是的话,检查是否有h2的条目,以及是否有版本号,如果我忽略了它,它会起作用。我现在可以添加和删除。问题是,当我试图添加上面的代码时,我现有的用户数据丢失了。我将提交这项工作作为一项任务,所以需要保留这些数据真的。不确定驱动程序/休眠的事情,但谢谢你帮我做这件事。
spring.datasource.url=jdbc:h2:file:./database.h2;FILE_LOCK=FS 
spring.datasource.driver-class-name=org.h2.Driver

spring.datasource.url=jdbc:h2:file:./database.h2;FILE_LOCK=FS

spring.jpa.hibernate.ddl-auto=update