Spring Boot 访问 H2 控制台

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

我有一个基本的 SpringBoot 应用程序,嵌入式 Tomcat,Thymeleaf 模板引擎。我创建了这个 bean 来访问控制台:

@Bean
public ServletRegistrationBean h2ConsoleServletRegistration() {
    ServletRegistrationBean bean = new ServletRegistrationBean(new WebServlet());
    bean.addUrlMappings("/console/*");
    return bean;
}
我访问控制台:http://localhost:8080/appContext/console/login.do?jsessionid=f3585792a9bf1f0cf1a0b6a09dcefe1a我的bean注释如下:
@Entity
@Table(name="t_user")
public class User implements Serializable, UserDetails {
..
}
我的应用程序属性:
# Spring Data JPA properties

spring.datasource.url=jdbc:h2:mem:testdb;MODE=MySQL;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true

hibernate.dialect=org.hibernate.dialect.H2Dialect
但我没有看到 JPA 创建的任何表:
enter image description here

最佳答案

删除您在属性文件中的所有内容。你提到的所有这些都是默认的。一旦 Spring-boot 在你的 pom 中识别出 h2 依赖项,它就会以任何方式配置它。而且你也不需要那个 ServletRegistration bean 角,扁 bean 。删除它。把它放在你的属性文件中spring.h2.console.enabled=true .
默认情况下,可以在 http://localhost:8080/h2-console 上访问控制台, 默认路径为 h2-console .您可以使用 spring.h2.console.path 配置它属性(property)。

关于Spring Boot 访问 H2 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43952259/

相关文章:

java - IOException 解析 XML 文档

java - 仅使用 RabbitMQ 和 SpringAMQP 消费具有特定 header 的消息

java - 尝试使用 postman 调用 url 时出现 404 not found

java - 有什么方法可以为独立应用程序加密 persistence.xml 吗?

java - 无法让 MappedSuperClass 抽象实体与 Spring Boot 和 JPA 一起使用

java - 在实体中使用嵌入式类时传递的分离实体保持不变

java - 使用 MongoTemplate 时如何将类型从 ObjectId 转换为 Long?

java - 测试所需的运行时参数、Spring Boot、配置路径

java - 如何使用Mongo Java驱动@BsonCreator注解?

java - JasperReports 报告未在 Spring MVC 应用程序中弹出