Spring Core
Spring Framework 5 for Java Web Applications
Testing Code
Terminology Test Fixture - A fixed state of a set of objects used as a baseline for running test...
Best Coding Practice
Naming Interfaces Should be a good Object Name Never start with an 'i' (This is a dot net thing...
Spring Bean Life Cycle
When the class is created we can see there are 'Aware' interfaces that get inialized BeanNameA...
Dependency Injection and IoC
Dependency Injection How objects obtain dependent objects The class being injected has no respons...
Spring Configuration and StereoTypes
Spring Configuration Options XML Based Configuration Introduced in Spring Framework 2.0 Still s...
Reactive Programming
Reactive programming focuses on non-blocking, asynchronous execution The Reactive Manifesto Respo...
Docker
What is Docker? Docker is a standard for Linux containers A "Container" is an isolated runtime i...
Data Validation with JSR-303
Introduced Java Bean Validation Part of JEE 6 and above, suported by Spring since version 3 Set ...
Exception Handling
JSR 303 Introduced Java Bean Validation Part of JEE 6 and above, suported by Spring since versio...
Data Binding in Spring
Command Objects (aka Backing Beans) - Used to transfer data to and from web forms Spring will au...
Options for Database Intialization
DDL = Data Definition Lang DML = Data Manipulation Lang Hibernate Allows the database to be crea...
JPA
Java Persistance API Entity Types @OneToOne One Entity related to one other @OneToMany One e...
Spring Boot
Spring boot is sort of a configuration wrapper around the Spring MVC Framework. Dependency Manage...
Dependency Inversion Principle
One of the basic rules of good programming is to avoid tight coupling. Ex, creating an object o...
Open Closed Principle
In good application design and the code writing part, you should avoid change in the existing c...
Interface Segregation Principle
Interfaces are a core part of Java and are used extensively to achieve abstraction and to suppor...