FrameWork/Spring Boot

스프링부트3 기능 살펴보기 (feat. 어노테이션, 스프링부트 스타터)

soooy0 2025. 2. 26. 22:19
예제 클래스 만들기(TestController.class)

  • 사용자가 url을 통해 /test GET요청을 하면, "Hello, world!"문자열을 반환하는 코드이다.
  • 서버를 재실행해주고, http://localhost:8080/test 로 접속해본다.

 

 

  • http://localhost:8080/test
    • localhost: 현재 사용 중인 컴퓨터
    • 8080: 포트번호
    • /test: @Getmapping 어노테이션으로 메서드와 매핑할 때 스프링 부트에서 설정한 경로

 

 

springboot starter 스프링부트 스타터

 

  • 스프링부트 스타터는 의존성이 모여있는 그룹이다.
  • 스타터는 spring-boot-starter-{작업유형} 이라는 명명규칙이 있다.
  • 자주 사용하는 스타터
    • spring-boot-starter-web: spring MVC 사용하여 Restful 웹서비스 개발 시 필요한 의존성 모음
    • spring-boot-starter-test: 스프링 애플리케이션을 테스트하기 위해 필요한 의존성 모음
    • spring-boot-starter-validation: 유효성 검사를 위해 필요한 의존성 모음
    • spring-boot-starter-actuator: 모니터링을 위해 애플리케이션에서 제공하는 다양한 정보를 제공하기 쉽게 하는 의존성 모음 
    • spring-boot-starter-data-jpa: ORM을 사용하기 위한 인터페이스의 모임인 JPA를 더 쉽게 사용하게 하기 위한 의존성 모음
  • build.gradle파일에 들어가서 어떤 의존성을 가져오는지 볼 수 있음

 

 

자동 구성
  • 스프링 부트에서는 애플리케이션이 최소한의 설정만으로도 실행되게 여러 부분을 자동으로 구성한다.
  • 추후 개발하다가 내가 구성하지 않은 부분인데 스프링에서 자동으로 어떻게 구성했는지 확인 할 상황이 올 수 있기 때문에 알아둬야 함.
  • 스프링 부트는 서버를 시작할 때 구성 파일을 읽어와서 설정한다. -> 이를 자동설정 이라고 함.
  • 자동설정은 META-INF에 있는 spring.factories파일에 담겨 있다.

  • 이 엄청난 양의 텍스트들이 프로젝트에 쓰일 구성 후보들이다. 스프링 부트를 시작할 때 이 파일에 설정되어 있는 클래스를 모두 불러오고, 이후에 프로젝트에서 사용할 것들만 자동으로 구성해 등록하는 것이다.

  • 미리 구현되어 있는 자동 설정 파일을 프로젝트에서 확인할 수 있다.

  • 자동 구성되는 클래스는 AutoConfiguration, 속성값을 정의해놓은 클래스는 Properties를 이름 끝에 붙였다.

-> 이런 식으로 스프링 부트에서 빈이 자동으로 등록되고 구성된다. 만약 자동 구성이 없다면 개발자가 특정 기술을 사용할 때마다 설정해야 하는 값을 모드 직접 설정해줘야할 것이다.

 

참고로 스프링부트 2는 자바 8이상 버전을 사용했지만, 스프링부트 3는 자바 17버전 이상을 사용해야 한다.