스프링 부트 백엔드 개발 강좌, 작동 확인하기

스프링 부트(Spring Boot)는 자바(Spring Framework)를 기반으로 하여 개발자들이 신속하게 어플리케이션을 구축할 수 있도록 도와주는 프레임워크입니다. 본 강좌에서는 스프링 부트를 사용하여 백엔드 개발을 시작하는 방법을 단계별로 알아보고, 개발한 애플리케이션이 제대로 작동하는지 확인하는 방법에 대해 설명하겠습니다.

1. 스프링 부트란?

스프링 부트는 기존 스프링 프레임워크의 복잡한 설정 및 구성을 간소화하여, 개발자가 간편하게 프로젝트를 시작할 수 있도록 설계되었습니다. 이를 통하여 생산성을 높이고, 신속하게 마이크로서비스를 개발할 수 있게 도와줍니다.

  • 자동 설정(Autoconfiguration): 기본적인 설정을 자동으로 적용해 주어 개발자가 세세한 설정에 시간을 할애할 필요가 없습니다.
  • 스타터 의존성(Starter Dependencies): 스프링 부트를 시작하는 데 필요한 기본적인 의존성을 쉽게 추가할 수 있도록 돕는 스타터 패키지를 제공합니다.
  • 내장 서버(Embedded Server): 톰캣, 제티 등의 내장 서버를 지원하여 별도의 서버 설정 없이도 어플리케이션을 실행할 수 있습니다.

2. 개발 환경 구성하기

2.1 필요한 도구 설치

스프링 부트 프로젝트를 시작하기 위해서는 JDK, IDE 및 Maven 또는 Gradle이 필요합니다. 아래는 설정 방법입니다:

  • JDK 설치: Oracle JDK 또는 OpenJDK를 설치합니다. JDK 11 이상이 요구됩니다.
  • IDE 설치: IntelliJ IDEA, Eclipse, STS 등 자신이 선호하는 IDE를 다운로드하여 설치합니다.
  • Maven 또는 Gradle 설치: 의존성 관리를 위해 Maven 또는 Gradle을 설치합니다. IDE 내장된 지원을 사용하는 것도 좋습니다.

2.2 프로젝트 생성

스프링 부트 프로젝트는 스프링 이니셜라이저(Spring Initializr)를 사용하여 간편하게 생성할 수 있습니다.

  1. 스프링 이니셜라이저에 접속합니다.
  2. 프로젝트 메타데이터(그룹, 아티팩트, 이름 등)를 입력합니다.
  3. 스프링 부트 버전을 선택하고, 필요한 스타터 의존성을 추가합니다.
  4. PROJECT 버튼을 클릭하여 ZIP 파일을 다운로드합니다.
  5. 다운로드한 파일을 압축 해제하고 IDE에서 엽니다.

3. 기본 애플리케이션 구성하기

3.1 컨트롤러 생성

애플리케이션이 성공적으로 생성되면, 기본적인 REST API를 만들어 보겠습니다. 다음은 Hello, World!를 반환하는 컨트롤러 예시입니다.


@RestController
@RequestMapping("/api")
public class HelloController {
    
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
    

3.2 서비스 계층 만들기

서비스 계층은 비즈니스 로직을 처리하는 곳입니다. 다음은 간단한 서비스 클래스의 예시입니다.


@Service
public class GreetingService {
    
    public String greet() {
        return "Greetings from the Service Layer!";
    }
}
    

3.3 데이터베이스 연동

스프링 부트에서는 JPA를 통해 데이터베이스와 쉽게 연동할 수 있습니다. H2 데이터베이스를 사용하여 예제를 진행합니다.


@Entity
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private String name;
    
    // getters and setters
}
    

3.4 애플리케이션 속성 설정

application.properties 파일에서 데이터베이스 연결 정보를 설정할 수 있습니다.


spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.h2.console.enabled=true
    

4. 애플리케이션 실행하기

IDE 내에서 Main 클래스를 실행하여 애플리케이션을 시작할 수 있습니다. 기본적으로 내장 톰캣 서버가 실행되며, http://localhost:8080/api/hello에 접속하여 Hello, World! 메시지를 확인할 수 있습니다.

5. 작동 확인하기

5.1 Postman 설치 및 설정

Postman을 사용하여 API를 테스트합니다. Postman을 설치한 후 아래와 같이 요청을 보냅니다:

  1. Postman을 열고 새로운 요청을 생성합니다.
  2. GET 메서드를 선택하고 URL에 http://localhost:8080/api/hello를 입력합니다.
  3. Send 버튼을 클릭하여 요청을 보냅니다. 응답으로 “Hello, World!”가 나타나는지 확인합니다.

5.2 JUnit을 통한 테스트

JUnit을 사용하여 작성한 코드에 대한 테스트를 수행할 수 있습니다. 아래는 단위 테스트의 예시입니다.


@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloControllerTest {
    
    @Autowired
    private MockMvc mockMvc;
    
    @Test
    public void testHello() throws Exception {
        mockMvc.perform(get("/api/hello"))
            .andExpect(status().isOk())
            .andExpect(content().string("Hello, World!"));
    }
}
    

6. 결론

스프링 부트를 사용하여 간단한 백엔드 애플리케이션을 구축하고, 작동을 확인하는 방법을 배우셨습니다. 이 강좌를 통해 스프링 부트의 기본적인 설정 및 구조를 이해하는 데 도움이 되었기를 바랍니다. 앞으로 더 복잡한 기능과 디자인 패턴을 적용하여 성숙한 애플리케이션을 개발해 보시기 바랍니다.

7. 참고 자료