hyungmuk's blog

스프링 입문강좌 정리 - PSA 본문

개발 & 공부/스프링

스프링 입문강좌 정리 - PSA

hyungmuk 2020. 3. 28. 03:13

PSA (Portable Service Abstraction)

  • 스프링 트라이앵글 중에 한 구성요소.
  • 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하려는 추상화 구조

서비스 추상화

  • 서블릿을 로우 레벨로 직접 사용하지 않아도 된다. (HttpServlet을 직접 사용하지 않아도 됨)
  • 매핑을 간편하게 할수 있다.
  • 코드를 거의 변경하지 않고 완전히 다른 기술 스택으로 실행할 수 있다. (ex. Spring 5 WebFlux)
  • 편의성을 제공해 주기 위해 서비스 추상화를 한다.

PSA의 예

@Controller | @RequestMapping | ...

Servlet | Reactive

톰캣, 티, 네티, 언도토우

 

@Transactional

JpaTransactionManager | DatasourceTransactionManager | HibernateTransactionManager

 

@Cacheable | @CasheEvit | ...

JCacheManager | ConcurrentMapCacheManager | EhCacheCacheManager

 

 

아래 블로그에 동일한 내용의 정리글이 있어서 아래 블로그를 참고하면 좋을것 같다.

https://kkambi.tistory.com/89

 

[spring] 핵심3_Portable Service Abstraction

Portable Service Abstraction (PSA) 추상화된 계층을 사용하여 편리하게 구현할 수 있다. (Service Abstraction) 코드를 수정하지 않고 전혀 다른 기술 스택을 사용할 수 있다. (Portable) Service Abstraction S..

kkambi.tistory.com

 

 

https://www.youtube.com/watch?v=P3vzrqADl8I&list=PLfI752FpVCS8_5t29DWnsrL9NudvKDAKY&index=12