
스프링 : 스프링 애플리케이션 컨텍스트라는 컨테이너를 제공. -> 애플리케이션 컴포넌트(빈) 관리
빈 : 스프링 애플리케이션 컨텍스트 내부에서 서로 연결되어 완전한 애플리케이션을 이룸
빈의 상호 연결 : 의존성 주입(DI) 패턴 기반으로 수행
@Configuration : 각 빈을 스프링 애플리케이션 컨텍스트에 제공하는 구성 클래스라는 것을 스프링에게 알림
구성 클래스의 메서드에는 @Bean 어노테이션이 지정되어 있고, 이것은 각 메서드에서 반환되는 객체가 애플리케이션 컨텍스트의 빈으로 추가되어야 함을 나타냄
src/main/java : 애플리케이션 소스 코드
src/test/java : 테스트 코드
src/main/resources : 자바 리소스가 아닌 것
mvnw, mvnw.cmd : 메이븐 래퍼 스크립트 (메이븐이 설치되어 있지 않더라도 빌드 가능)
pom.xml : 메이븐 빌드 명세 지정 파일
application.properties : 구성 속성을 지정 (차후 추가 설명)
static : 브라우저에 제공할 정적인 콘텐츠 폴더
templates : 브라우저에 콘텐츠를 보여 주는 템플릿 파일을 두는 폴더
컨트롤러 : 웹 요청과 응답을 처리하는 컴포넌트 (스프링 MVC 패턴의 중심. MVC 패턴이 무엇인지는 해당 포스트에서 설명)
@WebMvcTest : 스프링 부트에서 제공하는 테스트 어노테이션. 스프링 MVC 애플리케이션의 형태로 테스트가 실행됨.
테스트에 메서드에는 수행하고자 하는 것에 대해 정의한다.
정의한 것에 대해 하나라도 제대로 수행되지 않을 경우 테스트는 실패