반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 빅데이터
- Yes
- 데이터베이스
- 머신러닝
- 소프트웨어공학
- 클라우드컴퓨팅
- 보안
- 프로그래밍언어
- 네트워크보안
- 웹개발
- 컴퓨터과학
- 데이터과학
- 버전관리
- 자료구조
- 데이터구조
- 파이썬
- 소프트웨어
- 프로그래밍
- 데이터분석
- 사이버보안
- 자바스크립트
- springboot
- 딥러닝
- 컴퓨터공학
- I'm Sorry
- 네트워크
- 알고리즘
- 디자인패턴
- 인공지능
- 컴퓨터비전
Archives
- Today
- Total
스택큐힙리스트
자바 스프링 개발 시작하기 - 10일차 스타터 & 프로파일로 미니 API 완성 본문
반응형
1. 왜 ‘스타터’와 ‘자동 설정’부터 배워야 할까?
- Starter: spring-boot-starter-* 의존성 하나면 관련 라이브러리와 설정이 한꺼번에 준비됩니다.
- Auto-Configuration: 클래스패스에 올라간 라이브러리를 스프링이 감지해, 빈·설정 파일을 자동으로 구성합니다. 덕분에 “프로젝트 생성 → 코딩 → 실행”까지 단 몇 분!
- 이득: 설정 실수를 줄이고, 비즈니스 로직 개발에만 집중할 수 있습니다.
2. spring-boot-starter-web로 5분 만에 REST API 만들기
- 프로젝트 생성
- Spring Initializr(https://start.spring.io)
- Dependencies → Spring Web, Lombok 선택
- Java 17, Gradle/Maven 선택 후 Generate
- Controller 추가
@RestController @RequestMapping("/api") public class GreetingController { @GetMapping("/hello") public String hello() { return "Hello, Spring Boot!"; } }
- 실행
./gradlew bootRun # 또는 mvn spring-boot:run curl http://localhost:8080/api/hello
결과: Hello, Spring Boot! — 첫 API 성공!
3. 프로파일(Profile)로 환경별 설정 분리하기
Dev·Test·Prod 환경마다 DB URL이나 로깅 레벨이 다를 때, spring.profiles.active만 바꿔서 배포합니다.
# application.yml
spring:
profiles:
active: dev # 기본 프로파일
---
spring:
config:
activate:
on-profile: dev
server:
port: 8080
greeting: "Hello from DEV"
---
spring:
config:
activate:
on-profile: prod
server:
port: 80
greeting: "Hello from PROD"
- 실행 시 프로파일 지정
java -jar demo.jar --spring.profiles.active=prod
4. 자동 설정 뜯어보기
- @SpringBootApplication 안에는 @EnableAutoConfiguration이 포함돼 있습니다.
- 스프링은 META-INF/spring.factories 파일을 읽어 조건에 맞는 @Configuration 클래스를 로딩하고, @ConditionalOn* 어노테이션으로 필요 여부를 판단합니다.
- 필요 시 spring.autoconfigure.exclude로 특정 자동 설정을 끌 수도 있습니다.
5. 오늘의 핵심 정리
- Starter + Auto-Config = 설정 지옥 탈출
- Profile = 환경별 속성 분리, 실수 방지
- 이제 당신만의 미니 REST API가 완성됐습니다!
반응형
'개발' 카테고리의 다른 글
레거시 API도 걱정 끝! 리액트·스프링에서 Adapter·Facade 패턴으로 우아하게 래핑하기 (0) | 2025.07.17 |
---|---|
Actuator로 헬스 체크 실시간 모니터링 (1) | 2025.07.17 |
Spring Security × Swagger로 Bearer JWT 자동 테스트 세팅 (0) | 2025.07.17 |
Swagger UI로 API 문서 자동화 & 협업 꿀팁 (1) | 2025.07.16 |
자바 스프링 개발 시작하기 - 9일차 Controller·DTO·예외 처리로 끝내는 CRUD (1) | 2025.07.16 |
Comments