[스프링 인 액션] 1. 스프링 시작하기

윤짱·2025년 12월 19일

Spring

목록 보기
5/18

스프링이란?

스프링 : 스프링 애플리케이션 컨텍스트라는 컨테이너를 제공. -> 애플리케이션 컴포넌트(빈) 관리

빈 : 스프링 애플리케이션 컨텍스트 내부에서 서로 연결되어 완전한 애플리케이션을 이룸

빈의 상호 연결 : 의존성 주입(DI) 패턴 기반으로 수행

  • 애플리케이션 컴포넌트에서 의존하는 다른 빈의 생성과 관리를 컨테이너가 수행하며 이 컨테이너에서는 모든 컴포넌트를 생성, 관리하고 해당 컴포넌트를 필요로 하는 빈에 주입 -> (생성자 인자 또는 속성 접근자 메서드를 통해 처리)

@Configuration : 각 빈을 스프링 애플리케이션 컨텍스트에 제공하는 구성 클래스라는 것을 스프링에게 알림
구성 클래스의 메서드에는 @Bean 어노테이션이 지정되어 있고, 이것은 각 메서드에서 반환되는 객체가 애플리케이션 컨텍스트의 빈으로 추가되어야 함을 나타냄

스프링 애플리케이션 초기 설정하기

스프링 프로젝트의 기본 구조

src/main/java : 애플리케이션 소스 코드

src/test/java : 테스트 코드

src/main/resources : 자바 리소스가 아닌 것

mvnw, mvnw.cmd : 메이븐 래퍼 스크립트 (메이븐이 설치되어 있지 않더라도 빌드 가능)

pom.xml : 메이븐 빌드 명세 지정 파일

application.properties : 구성 속성을 지정 (차후 추가 설명)

static : 브라우저에 제공할 정적인 콘텐츠 폴더

templates : 브라우저에 콘텐츠를 보여 주는 템플릿 파일을 두는 폴더

스프링 애플리케이션 작성하기

웹 요청 처리하기

컨트롤러 : 웹 요청과 응답을 처리하는 컴포넌트 (스프링 MVC 패턴의 중심. MVC 패턴이 무엇인지는 해당 포스트에서 설명)

  • 웹 브라우저를 상대하는 애플리케이션의 경우 컨트롤러는 선택적으로 모델 데이터를 채워서 응답, 브라우저에 반환되는 HTML을 생성하기 위해 해당 응답의 웹 요청을 뷰에 전달

컨트롤러 테스트하기

@WebMvcTest : 스프링 부트에서 제공하는 테스트 어노테이션. 스프링 MVC 애플리케이션의 형태로 테스트가 실행됨.

테스트에 메서드에는 수행하고자 하는 것에 대해 정의한다.

  • HTTP 메서드가 올바른지
  • 응답의 HTTP 상태가 200 (OK)
  • 그 외 개발 기능에 따라 포함되어야 하는 것들...

정의한 것에 대해 하나라도 제대로 수행되지 않을 경우 테스트는 실패

profile
바르게 살자...

0개의 댓글