𝓟𝓢𝓐 (𝓟𝓸𝓻𝓽𝓪𝓫𝓵𝓮 𝓢𝓮𝓻𝓿𝓲𝓬𝓮 𝓐𝓫𝓼𝓽𝓻𝓪𝓬𝓽𝓲𝓸𝓷)
2024. 8. 4. 10:02ㆍTIL
✔오늘 배운 중요한 🔑 point
- Spring의 3대 요소: IoC/DI,PSA,AOP
- PSA를 통해 특정 환경,서버,기술에 종속되지 않고 유연한 애플리케이션을 개발할 수 있다.
🎯 오늘 배운 내용
PSA란?
특정 클라우드 제공업체나 플랫폼에 종속되지 않는 방식으로 애플리케이션을 설계하고 개발하는 방법
Spring Framework에서 PSA 개념이 적용된 예시
JPA - 관계형 데이터베이스와의 상호작용을 추상화 하여 특정 데이터베이스에 종속되지 않음
Spring Security - 특정 클라우드 제공업체에 종속되지 않음
Spring Integration - 특정 인증 제공 업체나, 권한 부여 시스템에 종속되지 않음
Spring Batch - 배치 작업의 단계와 실행을 추상화하여 특정 배치 처리 시스템에 종속되지 않음
🤔 어떻게 활용할까?
JPA나 Spring Security의 경우에는 현재 진행하고 있는 프로젝트에서도 사용이 되고있는데 배포 전인 개발 초기에는 h2 DB를 이용하였는데 배포 단계에서 DB를 AWS RDS 로 MYSQL로 바꾸는 상황이 있었다. DB를 바꾸는 상황에서도 코드적인 변경이 이루어지지 않고 연결설정만 바꾸어 주면 해결이 되었기때문에 서비스 추상화(PSA) 의 중요성에 대해서 실감할 수 있었던것 같다.