Spring Framework

The Spring Framework is a very popular Java application framework, that can be used to build any type of Java application although it’s most commonly used to build web applications.

Spring consists of several modules that will ease the development in areas like dependency injection, i18n, validation, aspect oriented programming, data access, testing, etc.

Spring-Data + MongoDB
Introduction Spring Data makes really quick and easy the process of working with data entities, offering a specific implementation for MongoDB. You can merely define queries by creating interfaces with methods following a naming convention or annotating them with @Query and Spring will automagically generate an implementation for you. Most of the times this is enough for simple CRUD and query operations and there is no need to define additional methods. This will allow you to get up and running really quickly avoiding to type boilerplate code. However, there are many times where this is not enough and the repository […]

Spring Data MongoDB: Custom repository implementation

Introduction When running a static code analysis tool or inspecting/analyzing your code from your IDE, you may have encountered the following warning regarding your @Autowired fields: Field injection is not recommended This post shows the different types of injections available in Spring and what are the recommended patterns to use each of them. Injection types Although current documentation for spring framework (5.0.3) only defines two major types of injection, in reality there are three; Constructor-based dependency injection Setter-based dependency injection Field-based dependency injection The latter is the one which the static code analysis tool complains about, but is regularly and […]

Field injection is not recommended – Spring IOC

build.gradle script 4
Introduction In this post I’ll show you how to serve an Angular (>2) frontend application using a Java Spring Boot application as the backend and static page web server, and a Gradle script to perform automated build and deploy tasks both for Spring and Angular. Requirements The technology stack required for this tutorial is: Node.js Angular CLI Gradle The main goal is to achieve a npm install + build that integrates with Java’s gradle build and deploys the distribution files into Spring’s static resources directory. You could replace Angular CLI for any other Frontend build tool / framework such as React. […]

Angular + Spring Boot integration using Gradle

Spring + EclipseLink JPA 3
Spring Data JPA By default Spring uses Hibernate as the default JPA vendor. Although Hibernate is a good choice, some of us may prefer to use EclipseLink as it was supposed to be the reference implementation for the Java Persistence JSR. In this tutorial we will setup a Spring-Boot application to use EclipseLink with a PostgreSQL database, although it can be used with any other database. Fixing dependencies In order to use EclipseLink, we must remove Hibernate’s entity manager from the classpath in order to avoid problems. This is a matter of adding an exclusion to your application’s Gradle script or […]

Spring Data JPA + EclipseLink: Configuring Spring-Boot to use EclipseLink ...