스프링의 핵심
ioc, aop, psa
IoC
- ioc는 누군가로 부터 의존성을 주입을 받아서 사용하는 것이다.
- 테스트 작성이 쉽다.
AOP
- 사방으로 흩어져서 중복 사용 되는 코드들이 있다. ex) 인증, 권한, 로그 등
- 스프링 AOP는 프록시를 사용해서 구현한다. (바이트 코드 조작이 아니다)
PSA
- 왠만한 라이브러리, api는 psa이다. 추상화 되어있는 abstraction계층이다.
- mvc를 포함해서 controller, getmapping 등등 모두 추상화 되어있다.