이 글은 스프링 프레임워크 공식 문서의 내용을 참고했습니다.
Spring 의 대표적인 기술들에 대한 내용이 아닌 스프링 공식 문서의 간략 개요에 대하여 정리했습니다
순서
- Spring Framework 개요
- 디자인 철학
개요
- Spring 을 사용하면 Java 엔터프라이즈 애플리케이션을 쉽게 만들 수 있다고 한다.
Spring Framework 5.1 부터 Spring 을 호환하기 위해서는 JDK 8+(이상)이 필요하며 JDK 11(LTS)에 대한 기본 지원을 제공한다고 합니다.
- Spring 은 광범위한 애플리케이션 시나리오를 지원하고있습니다. 클라우드 환경에서 서버가 내장된 단일 jar로 실행될 수 있으며, 이외 서버가 필요없는 독립형 애플리케이션으로 실행될 수 있습니다.
- Spring은 오픈 소스입니다 Spring 커뮤니티를 통해 지속적인 피드백을 받아 왔고 Spring이 오랜 기간 동안 발전할 수 있었던 이유 중 하나입니다.
디자인 철학
- 스프링은 모든 수준에서 선택권을 제공한다. 스프링을 사용하면 가능한 설계 결정을 연기할 수 있습니다. 예를 들어 코드를 변경하지 않고 구성을 통해 지속성 공급자를 전환할 수 있습니다. 다른 수많은 인프라 문제와 타사 API와의 통합도 마찬가지입니다.
(이 말은, 모든 선택을 개발자에게 맡기겠다는 말이라고 한다. 예로 들어 스프링이 특정 영속화 기술을 강요하지 않기 때문에 개발자에게 기술적인 다양한 선택권을 주는 것으로 보임)
- 스프링은 다양한 관점을 수용한다 유연성있게 포용하여 다양한 관점에서 다양한 애플리케이션 요구 사항을 지원
- 강력하게 이전 버전과 호환성을 유지한다. 스프링은 스프링에 의존하는 애플리케이션과 라이브러리의 유지 보수를 용이하도록 신중히 선택된 범위의 JDK 버전과 써드 파티 라이브러리를 지원
- 여러 버전과 수년에 걸쳐 유지되는 API를 설계하는 데 많은 시간과 생각을 투자
- 의미있고 정확한 javadoc에 중점을 두며, 깨끗한 코드 구조를 위해 높은 수준의 코드 품질을 지향