IOC (Inversion of Control, 제어의 역전)
컨트롤의 제어권이 개발자가 아니라 프레임워크에 있습니다.
객체의 생성부터 모든 생명 주기의 관리까지 프레임워크가 주도합니다.
DI (Dependency Injection, 의존성 주입)
설정 파일이나 어노테이션을 통해 객체간의 의존 관계를 설정하여 개발자가 직접 객체를 생성할 필요가 없다.
AOP (Aspect Object Programming, 관점 지향 프로그래밍)
여러 객체에 공통으로 적용할 수 있는 기능을 구분함으로써 재사용성을 높여주는 프로그래밍 기법이다.
POJO (Plain Old Java Object) 방식
무거운 객체들을 만드는 것에 반발하여 나타난 용어입니다.
멤버변수 및 getter/setter를 가진 단순한 자바 오브젝트라고 생각하면 이해하기 쉽습니다.
-장점
프레임워크이기 때문에, 개발자의 수준과 실력에 상관없이 일정 수준의 품질을 기대할 수 있습니다.
담당자 혹은 개발자가 도중에 바뀌더라도, 유지보수에 관한 리스크를 줄일 수 있습니다.
-단점
많은 기능을 제공하고 탑재하고 있으므로, 그만큼 무겁습니다.
마찬가지로, 기능을 익히기 위해 많은 노력과 시간이 필요합니다.