이전 Java EE(엔터프라이즈 에디션)의 스펙을 구현한 EJB의 기술 복잡도 증가로 인한 성능 저하에서 벗어나 EJB 시절 이후'봄(Spring)'으로 새로 시작한다는 것을 의미한다.
POJO(Plain Old Java Object)
- 별도 프레임워크 없이 특정 인터페이스를 직접 구현하거나 상속 받을 필요 없어 기존 라이브러리 지원 용이 및 객체가 가볍다.
AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)
더 쉽게 이야기하자면 군대에서 보급품을 받는다고 가정하자. 상급부대(연대, 사단)에서 보급품을 내려받는 게 아니라. 국군복지단이나/군수사령부 아저씨가 직접 가져오는 것을 생각해보면 쉽다. 당연히 군수사령부 예하부대 아저씨도 대대 소속이므로 상하 관계가 없지만 보급품에 한해서만 배부해주는 것이다.
DI(Dependency Injection, 의존성 주입)
new
를 통한 객체 생성 대신 외부에서 객체를 주입한다.public class Member{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long memberId;
}
public class MemberControll{
privaet Member member;
public MemberControll(Member member){
this.member = member;
}
IoC(Inversion of Control, 제어 역전)
생명주기 관리
Core
IoC
와 DI
기능 제공DAO
ORM
AOP
Web
JEE