Spring Boot 프로젝트를 생성하면 가장 먼저 보이는 클래스가 @SpringBootApplication이 붙은 메인 클래스입니다. 많은 초보 개발자들이 "이 어노테이션이 정확히 뭘 해주는 거지?"라는 의문을 갖습니다. 이번 글에서는 @SpringBootApplication의 내부 동작과 구성 요소를 실무적인 관점에서 정리해 보겠습니다. 1. @SpringBootApplication의 역할@SpringBootApplication은 단일 어노테이션처럼 보이지만, 실제로는 여러 어노테이션을 합쳐놓은 메타 어노테이션(Meta-Annotation)입니다. 이 어노테이션을 붙이면 Spring Boot 애플리케이션이 실행 가능한 기본 설정을 자동으로 제공합니다. 2. 내부 구성 요소@SpringBootAppli..
Spring Boot는 빠르고 효율적인 웹 애플리케이션 개발을 위해 널리 사용되는 프레임워크입니다. 그러나 입문자나 프레임워크 전환을 고민하는 개발자에게는 Spring Boot 프로젝트의 디렉터리 구조가 다소 생소할 수 있습니다.Spring Boot의 기본 프로젝트 구조를 상세히 설명하고, 각 디렉터리의 역할과 실무 팁을 함께 소개합니다. 1. 기본 프로젝트 구조 개요Spring Initializr나 IntelliJ로 생성한 기본 구조는 다음과 같습니다.src └── main ├── java │ └── com.example.demo │ ├── DemoApplication.java │ └── controller │ └── ..
Java 백엔드 개발을 시작하면서 Spring Boot와 IntelliJ IDEA는 사실상 표준 도구입니다. 하지만 처음 프로젝트를 셋업할 때 막히는 부분이 많죠. 실무 경험을 바탕으로, Spring Boot 프로젝트를 IntelliJ에서 세팅하는 가장 깔끔한 방법을 정리해봅니다. 사전 준비물JDK 17 이상 설치 (OpenJDK 또는 Oracle JDK)IntelliJ IDEA (Community 또는 Ultimate)Spring Initializr 또는 IntelliJ 내장 생성기IDEA Ultimate을 쓰면 Spring 관련 기능이 풍부하지만, Community Edition으로도 충분히 개발 가능합니다. Spring Boot 프로젝트 생성방법 1: Spring Initializr 웹에서 생성ht..
Spring Boot 또는 Spring MVC 기반 프로젝트를 하다 보면 @Controller와 @RestController 중 어떤 걸 써야 할지 혼란스러울 수 있습니다. 둘 다 웹 요청을 처리하는 데 사용되지만, 내부적으로 작동하는 방식은 분명한 차이가 있습니다. 그 차이를 명확하게 짚어보고, 언제 어떤 어노테이션을 사용해야 할지를 정리해보겠습니다. 1. @Controller란 무엇인가?@Controller는 전통적인 Spring MVC에서 사용하는 어노테이션으로, HTML 기반의 View(ViewResolver)를 반환할 때 사용됩니다. 즉, JSP나 Thymeleaf와 같은 템플릿 엔진을 통해 사용자에게 UI를 제공할 때 주로 사용됩니다.@Controllerpublic class PageContr..
Spring과 Spring Boot의 차이점은 단순한 설정 유무 이상의 이야기입니다. 실무 개발자의 관점에서 어떤 프로젝트에 어떤 프레임워크가 더 적합한지 상세히 비교해봅니다. Spring과 Spring Boot, 도대체 뭐가 다르지?처음 Spring을 접할 때 누구나 한 번쯤은 이런 의문을 갖게 됩니다.“Spring Boot는 Spring이랑 뭐가 다르지?”“Spring Boot 쓰면 Spring 안 써도 되는 건가?”“실무에서는 어떤 걸 써야 하지?”Java 백엔드를 하면서 이 질문을 수도 없이 받았습니다. 이 글에서는 Spring과 Spring Boot의 핵심 개념, 차이점, 그리고 언제 어떤 걸 선택해야 할지를 실제 경험을 바탕으로 설명합니다. Spring Framework란?Spring은 Jav..