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)