04.18 학습&숙제

한강섭·2025년 4월 18일
0

학습 & 숙제

목록 보기
68/103
post-thumbnail

Spring 3 - Spring Boot

🚀 Spring Boot

Spring Boot는 또 다른 스프링이 아닌, 스프링 애플리케이션을 빠르게 개발할 수 있도록 도와주는 템플릿 프레임워크입니다.

  • ⚙️ 설정 자동화를 통해 개발 속도 향상
  • 🧪 단위 테스트 강화로 프로젝트 안정성 확보
  • 👨‍💻 개발자는 비즈니스 로직에 집중 가능

🗂️ application.properties / application.yml

Spring Boot 애플리케이션의 동작에 필요한 설정 파일입니다.

  • 설정 파일: application.properties 또는 application.yml
  • 속성 주입: @Value("${property_name}") 를 통해 코드에 활용 가능
  • 다양한 타입으로 자동 형 변환 지원

📌 예시:

@Value("${custom.property}")
private String myValue;

📷 설정파일


🏁 @SpringBootApplication

Spring Boot 애플리케이션의 시작점 클래스에 선언하는 애너테이션입니다.

구성:

  • @SpringBootConfiguration: 빈 등록 등 스프링 설정 근거 제공
  • @EnableAutoConfiguration: 의존성에 기반한 자동 설정
  • @ComponentScan: 자동 컴포넌트 스캔을 통한 빈 등록
  • @SpringBootTest: 스프링 환경 기반 통합 테스트 지원

🧃 Spring Hrm (Bean 관리 대상)

스프링에서는 단순 데이터를 담는 DTO(종이컵)보다는 로직이 포함된 객체(텀블러)를 빈으로 관리합니다.


🔄 @Scope

빈의 생존 범위(Scope)를 지정합니다.

  • Singleton (기본값): 하나의 인스턴스를 모든 요청에서 공유 → 성능과 자원 효율성 ↑
  • Prototype: 요청할 때마다 새로운 객체 생성
  • Request, Session: 웹 요청 또는 세션 생명주기와 동일한 객체 생성

🧰 Lombok

반복적인 코드 생성을 줄이기 위한 코드 어노테이션 도구입니다.

  • @Data, @Getter, @Setter, @ToString, @NonNull, @AllArgsConstructor, @Builder
  • DTO, Entity 클래스 등에서 매우 유용하게 사용 가능

🔍 IntelliJ 기준으로 Outline 패널에서 Lombok 적용 결과를 실시간으로 확인하는 것이 좋습니다.


🧩 Service 클래스 구성

  • @Service: 비즈니스 로직을 담당하는 서비스 클래스임을 나타내는 스테레오타입 애너테이션
  • Singleton은 Spring Framework 차원에서 자동 관리
  • Service 클래스는 일반적으로 다음과 같은 의존성을 가짐:
    • DBUtil
    • DAO 혹은 Repository

➡️ Service 클래스는 반드시 필요한 의존성을 생성자 주입 방식으로 받도록 구성하는 것이 좋습니다.


🖼️ 오늘의 정리

profile
기록하고 공유하는 개발자

0개의 댓글