POJO JAVA 2

leo0604·2021년 12월 22일

POJO JAVA

목록 보기
2/2

POJO의 정의

  • 미리 지정된 클래스를 extends하면 안됩니다.
    public class Foo extends javax.servlet.http.HttpServlet { ... }

  • 미리 정의된 인터페이스를 implement하면 안됩니다.
    public class Bar implements javax.ejb.EntityBean { ... }

  • 미리 정의된 Annotation을 포함하면 안됩니다.
    @javax.persistence.Entity public class Baz { ... }

    그러나 기술적인 어려움과 다른 이유로 인해서 POJO-compliant은 기술된 많은 소프트웨어 제품이나 프레임워크들은 실제로 미리 정의된 Annotation을 제대로 동작하는 기능을 구현하기 위해 필요합니다.

이와 같은 것들의 특징은 Annotation을 추가하기 전에는 POJO이고 Annotation이 제거된다면 POJO 상태로 되돌아간다면, 이를 POJO로 간주할 수 있습니다.

POJO의 장점

    - 깔끔한 코드
    - 간편한 테스트
    - 객체지향적인 설계를 자유롭게 적용
    : 객체지향 프로그램은 엔터프라이즈 시스템에서와 같이 복잡한 도메인을 가진 곳에서 가장 효과적으로 사용될 수 있다.

POJO 프레임워크

POJO 프레임워크란 POJO 프로그래밍이 가능하도록 기술적인 기반을 제공하는 프레임워크이다. 스프링 프레임워크와 하이버네이트를 대표적인 POJO 프레임워크로 꼽을 수 있다.

스프링을 이용하면 POJO 프로그래밍의 장점을 그대로 살려서 엔터프라이즈 애플리케이션의 핵심로직을 객체지향적인 POJO를 기반으로 깔끔하게 구현하고, 동시에 엔터프라이즈 환경의 각종 서비스와 기술적인 필요를 POJO방식으로 만들어진 코드에 적용할 수 있다.

스프링 핵심: POJO

스프링 삼각형(by Adrian Colyer)

스프링 애플리케이션은 POJO를 이용해서 만든 애플리케이션 코드라, POJO가 어떻게 관계를 맺고 동작하는지를 정의해놓은 설계 정보로 구분된다.

스프링의 주요기술인 IoC/DI, AOP, PSA는 애플리케이션을 POJO로 개발할 수 있게 해주는 가능 기술이다. DI는 유연하게 확장가능한 오브젝트를 만들어두고 그 관계는 외부에서 다이내믹하게 설정해준다. 이런 DI의 개념을 스프링은 애플리케이션 전반에 걸쳐 적용한다.

profile
공부 & 기록

0개의 댓글