Mathias Hauser

My opinions and thoughts on various things and experiences of software development

Tag Archives: Gradle

How to configure Spring Boot with JPA and multiple projects

Its a common case to split up a project into multiple sub projects with a project containing classes used in multiple projects.
This is a fairly simple task related to dependency management, but can lead to problems in combination with Spring and JPA. I will explain you in this post what needs to be done to get everything up and running.

I recommend downloading the source of this example before you start. Link to the repository blog_springBoot-jpa-multiProject direct link to the source zip source-zip

Content of this post

  • Project structure & Gradle setup – A minimal setup to show that the approach works
  • JPA Entity and Repository – A JPA Test entity and Spring Data JPA repository for db interaction
  • Spring Boot Application configuration class – Set the Spring scan packages
  • Database configuration – Set the JPA scan package

Read more of this post


Bootstrap an application with Spring Boot – Part2 Web application

Welcome to part 2 of “Bootstrap an application with Spring Boot” which is about web applications with Spring Boot. I use the source code from part 1 as basis. You might want to read part1 before you start with this post, because I don’t repeat explanations from part1.

Web application with Spring Boot

As mentioned in part1, most examples for Spring Boot are web based applications. I’ve read many different ones. Most of them tell a different story. I try to give an easy setup for your application which works out for me. I use AngularJS in this post, but keep in mind that this post is not about AngularJS and I just use a minimal approach as an example for possible front end technologies.

I recommend downloading the source of this example before you start. Link to the repository blog_springBoot-web direct link to the source zip source-zip

Key points of this post

  1. Build- and Dependencymanagement -> build.gradle -> in the project root
  2. Application configuration ->;; application.yml
  3. REST-Interface -> HelloController
  4. Testing -> HelloControllerTests
  5. Deployment

Read more of this post