Spring 4

Spring day 4

[Spring 입문 4일차] 핵심 어노테이션 한자리에 정리들어가며지금까지 1일차부터 3일차까지 진행하면서 여러 어노테이션이 등장했다. @SpringBootApplication, @RestController, @Service, @Autowired 등이다. 그때그때 필요한 만큼만 설명하고 넘어갔기 때문에, 머릿속에 흩어져 있을 가능성이 크다.오늘은 그 어노테이션들을 용도별로 묶어 한자리에 정리한다. 각각이 어떤 역할을 하고 어디에 쓰이는지 표로 짚어 두면, 앞으로 코드를 읽을 때 훨씬 수월해진다. 사전처럼 옆에 두고 참고하는 용도로 보면 된다.1. 애플리케이션 설정 어노테이션애플리케이션의 시작과 설정에 관여하는 어노테이션이다.어노테이션 역할@SpringBootApplication시작 클래스에 붙이는 어노테이..

Spring day 3

[Spring 입문 3일차] Bean과 컨테이너, 컴포넌트 스캔들어가며2일차에서 IoC와 DI를 다루며 Bean과 컨테이너라는 단어가 잠깐 등장했다. Spring이 객체를 대신 만들어 관리하고, 필요한 곳에 주입해 준다는 큰 그림까지 잡았다.오늘은 그 안으로 한 걸음 더 들어간다. Bean이 정확히 무엇이고, 컨테이너가 어떤 역할을 하며, Spring이 어떻게 클래스를 찾아 Bean으로 등록하는지를 살펴본다.Bean이란 무엇인가Bean은 Spring 컨테이너가 생성하고 관리하는 객체를 말한다.우리가 직접 new로 만든 객체는 Bean이 아니다. Spring이 직접 만들어서 컨테이너 안에 보관하고, 필요할 때 꺼내 주입해 주는 객체만 Bean이라고 부른다. 2일차에서 생성자로 주입받았던 PaymentSer..

Spring day 2

IoC와 DI, Spring의 핵심 원리들어가며1일차에서 프로젝트를 만들고 화면을 띄우는 것까지 해봤다. 그 과정에서 @SpringBootApplication, @RestController 같은 어노테이션이 등장했지만, 그것들이 정확히 무슨 일을 하는지는 넘어갔다.오늘 다룰 IoC와 DI는 그 동작의 바탕이 되는 개념이자, Spring을 Spring답게 만드는 핵심 원리다. 처음에는 용어가 추상적으로 느껴지지만, 코드로 비교해 보면 어렵지 않다.의존성이란 무엇인가IoC와 DI를 이해하려면 먼저 의존성(Dependency)이라는 단어부터 짚어야 한다.어떤 클래스가 동작하기 위해 다른 클래스가 필요할 때, 앞의 클래스가 뒤의 클래스에 의존한다고 말한다. 예를 들어 주문을 처리하는 OrderService가 결..

Spring day 1

[Spring 입문 1일차] 개발 환경 세팅부터 첫 실행까지들어가며Java 기초 시리즈에서 변수, 클래스, 객체, 다형성까지 다뤘다. 그런데 문법을 어느 정도 익히고 나면 한 가지 의문이 남는다. "이걸로 대체 뭘 만들 수 있는가?"그 답 중 하나가 Spring이다. 우리가 매일 사용하는 웹 서비스의 백엔드, 즉 화면 뒤에서 데이터를 주고받고 처리하는 서버의 상당수가 Java와 Spring으로 동작한다. 이번 시리즈는 한 달 동안 Spring을 단계별로 익히고, 마지막에는 간단한 게시판 프로젝트까지 직접 만들어보는 것을 목표로 한다.Java 문법이 아직 익숙하지 않다면 [Java 기초 카테고리]를 먼저 보고 오는 것을 권한다. 이 시리즈는 Java를 어느 정도 안다는 전제로 진행한다.1일차의 목표는 개발..