Aplicación Todo con Spring Boot MVC y Thymeleaf

Guía paso a paso para crear una aplicación Todo con Spring Boot MVC, Thymeleaf y H2, con seguridad básica y listas de tareas por usuario autenticado.

16 sept 2025 • 3 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

En este artículo explico paso a paso cómo construir una aplicación Todo usando Spring Boot MVC y Thymeleaf, con almacenamiento en memoria H2 y seguridad básica con Spring Security. La idea es crear una app sencilla donde cada usuario tiene su propia lista de tareas.

Paso 1 Configuración inicial. Crea un proyecto Spring Boot con Spring Initializr o desde IntelliJ y añade las dependencias principales spring-boot-starter-web para controladores MVC, spring-boot-starter-thymeleaf para plantillas HTML, spring-boot-starter-data-jpa para persistencia, la base de datos H2 para desarrollo y spring-boot-starter-security para autenticación y autorización.

Paso 2 Propiedades de la aplicación. En src/main/resources/application.properties activa la consola H2 y configura la URL jdbc h2 mem todoapp. También puedes activar spring jpa show sql para ver las consultas y spring jpa hibernate ddl auto update para que JPA cree las tablas desde las entidades.

Paso 3 Modelo Todo. Crea una entidad Todo con campos id autogenerado, title, completed por defecto false y username que identifica al propietario de la tarea. El campo username garantiza que cada usuario solo vea sus propios todos.

Paso 4 Repositorio. Define una interfaz TodoRepository que extienda JpaRepository y añade un método personalizado findByUsername para obtener las tareas de un usuario concreto. Con JpaRepository obtienes de forma automática métodos CRUD como save findById y deleteById.

Paso 5 Seguridad. Configura Spring Security con un SecurityFilterChain que requiera autenticación para todas las rutas excepto los recursos estáticos y que use una página de login personalizada en /login. Para un entorno de demo puedes registrar usuarios en memoria con InMemoryUserDetailsManager y usar un PasswordEncoder sencillo solo para pruebas. En producción sustituye por un proveedor seguro y almacenamiento persistente de usuarios.

Paso 6 Controlador. Implementa un controlador TodoController con rutas para listar los todos del usuario autenticado, añadir una nueva tarea asignando el username desde el objeto Authentication, alternar el estado completed y eliminar tareas. Después de cada operación redirige a la lista de todos para que la vista se actualice.

Paso 7 Plantillas Thymeleaf. Crea una plantilla login para el formulario de acceso y una plantilla todos que muestre un formulario para añadir tareas y una tabla con todas las tareas del usuario. Usa enlaces form action apuntando a las rutas del controlador y botones para alternar y borrar. Incorpora estilos con Bootstrap cargando el CSS en la plantilla.

Paso 8 Ejecutar y probar. Ejecuta la app con mvn spring-boot run y abre el navegador en localhost 8080 login. Inicia sesión con las credenciales definidas en memoria y prueba a añadir alternar y borrar tareas. H2 guarda los datos en memoria por lo que se reiniciarán al reiniciar la aplicación.

Resumen del flujo. El usuario accede a la página de login. Spring Security valida las credenciales y redirige a la lista de todos. El controlador consulta el repositorio por username y Thymeleaf renderiza la vista con Bootstrap. H2 facilita el desarrollo y JPA se encarga del mapeo objeto relacional.

Sobre Q2BSTUDIO. En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida que ofrece soluciones personalizadas para empresas de todos los tamaños. Nos especializamos en software a medida y aplicaciones a medida, inteligencia artificial aplicada a procesos empresariales, ciberseguridad y servicios cloud. Si buscas desarrollar una aplicación corporativa a medida consulta nuestra página de desarrollo de aplicaciones y software multiplataforma en desarrollo de aplicaciones y software multiplataforma. Para proyectos que requieran modelos de IA, agentes inteligentes o ia para empresas visita nuestra sección de inteligencia artificial.

Palabras clave y servicios. Ofrecemos servicios cloud aws y azure, servicios de inteligencia de negocio y power bi, automatización de procesos, agentes IA y consultoría en ciberseguridad y pentesting para proteger tus aplicaciones. Si necesitas una solución completa que combine software a medida, inteligencia artificial y seguridad, Q2BSTUDIO puede acompañarte desde el diseño hasta la puesta en producción.

Consejos finales. Para un producto listo para producción cambia la base de datos H2 por una base de datos persistente, usa un gestor de usuarios y contraseñas seguro, aplica validación y control de acceso en el backend y añade pruebas automatizadas. Con estas mejoras podrás escalar la aplicación Todo hacia una solución empresarial.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat