N° 01 — 목록
'Backend Development/Spring Boot' (10)
-
Backend Development/Spring BootSpringBoot - 4. rest api
500줄로 만드는 REST API — Spring Boot 실전 패턴REST API를 만든다고 하자. 컨트롤러, DTO, 서비스, 예외 처리, 응답 표준화 — 각각을 따로 배우면 연결이 안 된다. 이 글은 하나의 흐름으로 처음부터 끝까지 REST API를 구축하는 패턴을 풀어간다: 요청 수신 → DTO 바인딩 → 서비스 호출 → 표준 응답 반환 → 예외 처리.(Spring Boot Reference - Spring MVC)DTO 계층 — 요청과 응답의 분리// Spring Boot 4 / Java 25 — DTO (record)import jakarta.validation.*;// 요청 DTO (입력 검증 포함)public record CreateUserRequest( @NotBlank String..
-
Backend Development/Spring BootSpringBoot - 03. embedded-server
java -jar app.jar 한 줄로 서버가 뜨는 원리 — 내장 서버와 실행 가능 JAR전통적 Java 웹 애플리케이션은 WAR 파일을 외부 Tomcat에 배포했다. tomcat9, catalina.sh start, deploy/ 디렉토리 — 배포가 복잡하고 환경마다 다르다. Spring Boot는 이것을 java -jar app.jar 한 줄로 끝낸다 — Tomcat이 JAR 안에 내장(embedded)되어 있기 때문이다.이 글은 내장 서버의 작동 원리, 실행 가능 JAR 구조, layered JAR(컨테이너 최적화), 그리고 Spring Boot 4.0에서 Virtual Thread와 내장 서버의 결합을 풀어간다. (Spring Boot Reference - Embedded Web Servers)..
-
Backend Development/Spring BootSpringBoot - 02. starter-config
spring-boot-starter-web 한 줄이 47개 JAR을 끌고 오는 이유 — Starter와 설정 관리build.gradle에 implementation 'org.springframework.boot:spring-boot-starter-web' 한 줄을 추가했다. Gradle은 47개의 의존성을 다운로드한다 — Spring MVC, Jackson, Tomcat, Bean Validation, 로깅 등. 각각의 버전을 직접 맞출 필요 없이, Starter가 호환되는 버전 세트를 큐레이션한다.이 글은 Starter 의존성의 구조, application.yml 외부화, 프로파일별 설정, 그리고 Spring Boot 4.0의 모듈화된 Starter 구조를 풀어간다. (Spring Boot Refere..
-
Backend Development/Spring BootSpringBoot - 01. auto configuration
classpath에 JAR 하나 넣었을 뿐인데 DataSource가 만들어진 이유 — 자동 구성의 작동 원리Spring Boot 프로젝트에 spring-boot-starter-data-jpa 의존성을 추가했다. 코드 한 줄 안 고쳤는데 — DataSource, JdbcTemplate, EntityManagerFactory, TransactionManager bean이 자동으로 생성된다. 어떻게? Spring Boot가 자동 구성(auto-configuration)이라는 메커니즘으로, classpath에 있는 클래스와 정의된 프로퍼티를 기반으로 bean을 추론하여 등록하기 때문이다.이 글은 자동 구성의 작동 원리, @Conditional 계열 어노테이션, AutoConfiguration.imports 파일..