W2AS2L
2023. 6. 8. 17:58
2023. 6. 8. 17:58
스프링 프레임워크란?
객체지향적으로 설계한 POJO 유지하며 애플리케이션을 쉽고 효과적으로 개발할 수 있도록 지원하는 프레임워크
- 스프링을 사용하면 개발자는 비즈니스 로직에만 집중할 수 있다
POJO
- Plain Old Java Object
- 특정 기술과 환경에 종속적이지 않은 순수한 자바 객체
PSA
- Portable Service Abstraction
- 추상화 계층을 사용하여 어떤 기술을 내부에 숨기고 사용자에게 편의성을 제공하며, 이 기술을 다른 기술 스택으로 간편하게 바꿀 수 있는 확장성을 가진 서비스를 의미한다.
- ex) Jpa 인터페이스를 이용하여 orm기술을 사용
IoC
- Inversion of Control - 제어의 역전
- 스프링에서는 일반적인 자바 객체를 new로 생성하여 개발자가 관리하는 것인 아닌 Spring Container에서 객체를 관리하고 제어한다.
- 개발자 → 프레임워크로 제어권한이 넘어감
DI
- Dependency injection - 의존성 주입
- 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜 준다.
- 장점
- 유지보수가 쉬우며 테스트가 용이함
- 객체간 결합도가 낮아진다.
- 코드의 재사용성과 유연성이 높아진다.
AOP
- 관점 지향 프로그래밍
- 관점 지향
- 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화
- AOP를 사용하여, logging, transaction관리, security에서의 적용 등 AspectJ와 같이 완벽하게 구현된 AOP와 통합하여 사용이 가능