프레임워크(Framework)를 직역하면 뼈대, 골격 등을 의미합니다. 이는 곧 프레임워크의 장단점으로 이어집니다. 장점은 프레임워크가 개발에 필요한 기초적인 기능을 제공하기 때문에, 시간과 비용 측면에서 유용합니다. 그러나 프레임워크가 제공하는 고유한 기능을 이해해야 한다는 단점이 있습니다. 프레임워크를 동작시키려면 규칙을 따라야 합니다.
프레임워크는 주로 라이브러리(library)와 비교합니다. 라이브러리는 편리한 프로그램을 모아 모듈화한 것으로, 역시 기존에 짜인 기능을 이용한다는 공통점이 있습니다. 둘의 가장 큰 차이로는 '제어의 주도권이 누구에게 있느냐'입니다. 프레임워크는 내가 작성한 코드가 프레임워크를 중심으로, 프레임워크에 의해 사용되므로 수동적입니다. 라이브러리는 특정 기능이 필요할 때마다 내가 의도적으로 불러오는 것이므로 능동적이어야 합니다.
스프링 프레임워크란, 자바 개발 환경에서 사용하는 프레임워크입니다. 스프링에서는 크게 스프링 부트(Spring Boot), 스프링 프로젝트(Spring MVC, Spring Data, Spring Batch, Spring Security), 스프링 코어(Spring DI, Spring AOP)와 같은 여러 가지 기능을 제공합니다.
스프링 프레임워크를 다루기 위해서는 우선 JDK와 IDE 등 개발 환경을 준비해야 합니다. 저는 스프링 부트 3.0.6, JDK 17버전, IntelliJ를 사용하고 있습니다. 만약 스프링 부트 버전과 JDK 버전과 Gradle JVM 버전이 맞지 않는다면 오류가 발생할 수 있으므로 버전을 맞춰주는 것이 중요합니다. 스프링 부트 3.X 버전 이상에서는 JDK와 Gradle 모두 17 이상이어야 오류가 발생하지 않습니다. 참고하는 책이나 강의가 스프링 부트 2.X, JDK 11을 기준으로 한다면 버전 확인이 필요합니다.
※ "스프링 프레임워크 첫걸음"이라는 책을 참고하여 쓴 게시글로, 책의 내용을 완전히 담지 않되 공부한 부분을 위주로 정리하여 작성하고자 했습니다. 따라서 글에는 책에서 다루지 않은 내용도 포함되어 있으며 부정확한 부분이 있다면 알려주시면 감사하겠습니다.
'Java > Spring' 카테고리의 다른 글
[Spring] 6. 요청 파라미터(request parameter) (0) | 2023.06.20 |
---|---|
[Spring] 5. MVC 모델 (0) | 2023.06.15 |
[Spring] 4. 데이터베이스 작업 (0) | 2023.06.05 |
[Spring] 3. 스프링 프레임워크의 핵심 기능 알아보기 (0) | 2023.06.03 |
[Spring] 2. 기초 지식 배우기 (0) | 2023.05.26 |