본문 바로가기
Spring/Spring-detail

PSA(Portable Service Abstraction) 이란?

by YoonJong 2022. 10. 28.
728x90

PSA 는 한마디로 잘만든 인터페이스 라고 정의할 수 있다.

 

스프링을 사용하면 서비스 추상화를 통해 특정 환경이나 서버, 기술에 종속되지 않으며 유연한 애플리케이션 개발을 할 수 있다. 

스프링에서는 추상화 계층을 통해 구체적인 기술과 환경에 종속되지 않도록 한다.

따라서, 추상화 계층을 사용해서 어떤 기술을 내에 숨기고 개발자에게 편의성을 제공해준다.

 

예로, ORM(객체 관계매핑) 이 새롭게 등장했을 때, ORM 기술을 사용하고 싶었다면, ORM 프레임워크 중 하나인 Hibernate를 사용해야 한다. 

객체가 Hibernate 에 직접 의존하는 순간 기술에 종속적으로 되기 때문에, POJO 라고 할 수 없다.

스프링이 POJO를 유지하면서 Hibernate 를 사용할 수 있는 이유는 PSA 를 적용했기 때문이다.

PSA 를 적용해서 POJO 를 유지하기 위해서 JPA 라는 표준 인터페이스를 사용해 구현한다.

* POJO 란 오래된 방식의 순수한 자바 객체로써 특정 기술에 종속되어있지 않은 객체를 뜻한다.

 

 

 

https://dar0m.tistory.com/229

https://siyoon210.tistory.com/120

 

 

 

728x90

댓글