우리는 왜 Legacy 로 시작하는가 — 읽기 자료
Spring 과 Spring Boot 는 별개가 아닙니다. Boot 는 Spring 위에 얹힌 자동 설정 도우미입니다.
웹 프로젝트를 만들려면 다음 XML 파일들을 직접 작성:
web.xml — 애플리케이션 시작 설정root-context.xml — 백엔드(DB, Service) 빈 설정servlet-context.xml — 웹(Controller, View) 빈 설정자유도가 높지만 학습 부담도 큽니다. 「뭐가 어디서 결정되는지」를 직접 알 수 있다는 것이 장점.
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
@SpringBootApplication 한 줄로:
| 항목 | Spring Legacy | Spring Boot |
|---|---|---|
| 설정 | XML 직접 | 자동 설정 |
| 웹 서버 | 외부 Tomcat 설치 | 내장 Tomcat |
| 실행 방식 | WAR → Tomcat 에 배포 | java -jar app.jar |
| 진입 장벽 | 높음 | 낮음 |
| 학습 가치 | 구조 이해 깊음 | 빠른 시작 |
Boot 의 자동 설정은 편리하지만 많은 일을 자동으로 숨겨놓습니다. 입문 단계에서 Boot 로 시작하면 「되긴 하는데 왜 되는지 모르는」 상태가 되기 쉽습니다.
Legacy 로 XML 한 줄 한 줄을 직접 짜보면, Spring 컨테이너가 어떻게 동작하는지가 손에 잡힙니다. 나중에 Boot 로 옮길 때도 자신 있게 다룰 수 있습니다 — 이게 「선(先) 구현, 후(後) 원리 파악」 의 학습 전략입니다.
Spring 의 IoC/DI 발상은 안다. Boot 는 들어본 정도.
Spring 과 Boot 의 관계, 우리 과정의 학습 전략(Legacy 로 시작)에 동의한다.