kok202
[2019.02.09] POJO

2019. 2. 9. 21:44[정리] 직무별 개념 정리

POJO (Wiki)

프레임워크를 따르지 않는 간단한 자바 오브젝트




POJO (역사)

1. EJB (Enterprise Java Beans)는 다양한 기능을 제공했다. 

그런데 EJB는 지나친 하이스펙으로 인해 아키텍처가 매우 무거웠다. 

그래서 원래쓰던 Java Bean으로 돌아가자라는 의견이 존재하기 시작했다. 


2. 그런데 그냥 다시 옛날에 쓰던 Java Bean 을 쓰자라는 말은 뭔가 그럴듯 하지 못했다. 

그래서 단순히 과거에 쓰던 Java Bean이라는 명칭을 POJO로 바꾸어서 불렀다. 

그랬더니 신기하게도 Java Bean 으로 돌아가는 흐름이 만들어졌다. 


3. 그런데 단순히 EJB를 버리고 POJO 방식으로 돌아간다는 것은 기술 역행에 가깝다. 

그래서 EJB를 대체할 수 있는 POJO 기반의 프레임워크를 만들기 시작했다. 

대표적인 것이 스프링 프레임워크이다.




완전한 POJO는 extends, implement와 같이 상속을 받지 않으며 Annotation을 사용하지 않는다. 

Servlet은 EJB 프레임워크인 HttpServletRequest를 상속 받는 다는 점에서 POJO가 아니다. (Servlet은 대표적인 EJB이다.) 스프링 프레임워크에서 사용되는 Controoler, DAO, DTO 에는 상속이 없다는 점에서 POJO 이다. 

하지만 Annotaiton을 적극 활용한다는 점에서 완전한 POJO를 지향한다 볼 수 없다.




'[정리] 직무별 개념 정리' 카테고리의 다른 글

Maven pom.xml  (0) 2019.06.15
배포 시나리오  (0) 2019.06.07
[2019.03.13] 마이크로 서비스 아키텍처  (0) 2019.03.13
[2019.02.09] TDD를 위한 JUnit  (0) 2019.02.09