본문 바로가기

Spring/Core

(43)
[Core] Why Spring 이번 장에서는 면접 질문에 자주 등장하는 "왜 스프링을 사용하는가"에 대해서 알아본다. 글의 하단부에 참고한 강의와 공식문서의 경로를 첨부하였으므로 자세한 사항은 강의나 공식문서에서 확인한다. 모든 코드는 깃허브 (링크)에 올려두었다. 왜 스프링을 사용하는가 이전 장 (링크)에서 스프링이 무엇인가에 대해서 알아보았다. 추가로 순수 자바로 어플리케이션을 개발하면서 객체들 간의 끈끈한 결합도가 생기는 것을 경험하였다. 이번 장에서는 다시 한 번 순수 자바로 객체들 간의 끈끈한 결합도를 낮춰본다. 순수 자바에서 복잡하게 DI하던 기능을 스프링을 통해서 손쉽게 해결해보면서 "왜 스프링을 사용하는가"에 대해서 알아보도록 한다. 할인 정책의 변경 이전 장에서 주문을 진행할 때 회원의 할인 정책은 고정 금액 할인 정..
[Core] What is Spring 이번 장에서는 면접 질문에 자주 등장하는 스프링이란 무엇인가에 대해서 알아본다. 글의 하단부에 참고한 강의와 공식문서의 경로를 첨부하였으므로 자세한 사항은 강의나 공식문서에서 확인한다. 모든 코드는 깃허브 (링크)에 올려두었다. 스프링이란 무엇인가? 이번 장부터 몇 개의 장을 걸쳐서 스프링이란 무엇이며 무엇을 위해 탄생하였는지에 대해서 알아본다. 필자는 아직까지 "스프링이 뭐에요?" 라는 질문을 받은 적은 없다. 존경하는 W사의 모 개발자님은 기술 인터뷰에서 "스프링이 뭐에요"라는 질문을 받았고 "어노테이션의 향연입니다."이라는 답변했다고 한다. 정말 짧고 간결한 정답이라는 생각이 든다. 스프링이 어노테이션의 향연이 된 이유를 찾는다면 스프링의 탄생 배경도 알게 될 것이다. 거대해진 스프링 생태계 때문에..
[Core] 스프링 부트 프로젝트 생성 기본적인 스프링 부트 프로젝트를 생성한다. start.spring.io 로 접속하여 아래의 이미지와 같이 프로젝트를 생성한다. Project: Gradle Project Spring Boot: 2.5.0 (프로젝트 생성 시점에서 SNAPSHOT이 아닌 최신버전을 사용) Language: Java Dependencies: 이후에 필요에 따라 하나씩 추가할 예정이라 이번에는 추가 X 위의 이미지와 같이 프로젝트를 생성하고 IntelliJ를 사용하여 프로젝트를 열면 아래의 이미지와 같이 자동으로 필요한 라이브러리들이 설치되는 것을 확인할 수 있다. 실제로 설치된 라이브러리들이 확인하고 싶다면 화면 우측 상단의 Gradle(코끼리 이미지)버튼을 눌러 직접 확인할 수 있다. 그러면 정상적으로 스프링 부트를 통한 ..