J2EE and Spring Overview

Last Updated on: January 5, 2021 pm

What is Java EE?

J2EE - Java 2 Platform Enterprise Edition

graph TB
    A[Client-Side Presentation] --> B[Server-Side Presentation];
    B --> C[Server-Side Business Logic];
    C --> D[Database]; 

Overview of Spring

Goals

  • Lightweight development with Java POJO(Plain-Old-Java-Objects)
  • Dependency injection to promote loose coupling
  • Declarative programming with Aspect-Oriented-Programming
  • Minimize boilerplate Java Code

Spring Core Framework

Core Container

Creating beans and making these beans available.

  • Bean Factory - Create Beans and manage beans
  • Context - Spring Container that holds the beans in memory.
  • SpEL - Spring Expression Language

AOP Section

AOP: Aspect Oriented Programming

Allows you to create application-wide services.

Add functionality to object without modifying your code using config file or by adding annotations.

Logging, security, transactions, etc..

Data Access Layer

  • JDBC - helper classes
  • ORM - Objection Relational Mapping - hook in to Hibernate
  • Transactions - Add transaction support
  • JMS - Java Message Service - Send msgs to a msg queue in a asych way.

Web Layer

Home of the Spring MVC framework

Test Layer

Supports Test-Driven-Development

Mock objects and out-of-container testing.

Integration test as well.

Spring Projects

Additional modules built on top of the core Spring Framework.

  • Spring Cloud, Spring Data
  • Spring Web Service - RESTful

Reference: Udemy, Spring & Hibernate for Beginners (including SpringBoot)