728x90
PSA 는 한마디로 잘만든 인터페이스 라고 정의할 수 있다.
스프링을 사용하면 서비스 추상화를 통해 특정 환경이나 서버, 기술에 종속되지 않으며 유연한 애플리케이션 개발을 할 수 있다.
스프링에서는 추상화 계층을 통해 구체적인 기술과 환경에 종속되지 않도록 한다.
따라서, 추상화 계층을 사용해서 어떤 기술을 내에 숨기고 개발자에게 편의성을 제공해준다.
예로, ORM(객체 관계매핑) 이 새롭게 등장했을 때, ORM 기술을 사용하고 싶었다면, ORM 프레임워크 중 하나인 Hibernate를 사용해야 한다.
객체가 Hibernate 에 직접 의존하는 순간 기술에 종속적으로 되기 때문에, POJO 라고 할 수 없다.
스프링이 POJO를 유지하면서 Hibernate 를 사용할 수 있는 이유는 PSA 를 적용했기 때문이다.
PSA 를 적용해서 POJO 를 유지하기 위해서 JPA 라는 표준 인터페이스를 사용해 구현한다.
* POJO 란 오래된 방식의 순수한 자바 객체로써 특정 기술에 종속되어있지 않은 객체를 뜻한다.
https://siyoon210.tistory.com/120
728x90
'Spring > Spring-detail' 카테고리의 다른 글
Mockito BDDMockito 의 차이점 (1) | 2022.11.04 |
---|---|
단위테스트(Unit Test) 를 작성하는 이유 (0) | 2022.11.04 |
AOP 란 무엇인가? + 예제 (0) | 2022.10.26 |
DI 의존성 주입 방법에 대해 알아보자 (0) | 2022.10.26 |
Ioc(Inversion of Control) 제어의 역전이란? (0) | 2022.10.26 |
댓글