Saltar a contenido

Spring Boot + Thymeleaf (Maven) con H2

Guía rápida para tu repo docsjaveriana/thymeleaf: cómo agregar H2, cómo dejar el application.properties, qué dependencias Maven usar y cuál es la estructura básica de carpetas.

El repositorio ya trae una estructura base con templates/, static/ y application.properties, además de clases en src/main/java/... y ejecución con mvnw. :contentReference[oaicite:0]{index=0}


Estructura básica de carpetas (convención Spring Boot)

En este repo se maneja así (resumen):

  • Código Java
    src/main/java/co/javeriana/dw/thymeleaf/...
  • ThymeleafApplication.java
  • dashboard/ (controller/service)
  • process/ (modelo, repo, inicializador)

  • Recursos (resources)
    src/main/resources/

  • templates/ (HTML Thymeleaf)
  • static/ (CSS y JS)
  • application.properties

Esta estructura está documentada en el README del repo. :contentReference[oaicite:1]{index=1}

Dependencias Maven necesarias (para Thymeleaf + Web + JPA + H2)

Si tu objetivo es usar H2 (base en memoria o en archivo) con repositorios tipo JpaRepository, normalmente necesitas:

  • spring-boot-starter-thymeleaf
  • spring-boot-starter-web
  • spring-boot-starter-data-jpa
  • com.h2database:h2

Ejemplo de bloque de dependencias (pom.xml)

Inserta/valida estas dependencias dentro de <dependencies>:

<dependencies>
  <!-- Web MVC -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
  </dependency>

  <!-- Thymeleaf -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
  </dependency>

  <!-- JPA -->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
  </dependency>

  <!-- H2 Database -->
  <dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <scope>runtime</scope>
  </dependency>
</dependencies>