프레임워크에 대해 배울 때, 이것이 무엇인지를 아는 것뿐만 아니라 어떤 원리를 따르는지를 아는 것 역시 중요하다. 아래는 스프링 프레임워크를 이끄는 원리이다. 모든 레벨에서 선택권을 제공한다. Spring은 설계 의사결정을 최대한 늦게 하도록 연기할 수 있게 한다. 예를 들어, 코드를 변경하지 않고 configuration을 통해 지속성 제공자를 바꿀 수 있다. 이는 다른 많은 인프라 문제와 타사 API와의 통합에 대해서도 마찬가지다. 다양한 관점을 수용한다. Spring은 유연성을 포용하며 일을 처리하는 방법에 대한 의견을 제시하지 않는다. 또한, Spring은 서로 다른 관점을 갖는 넓은 범위의 애플리케이션 요구 사항을 제공한다. 이전 버전과의 강력한 호환성을 유지한다. Spring의 진화는 버전 간..