스프링 부트(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)를 사용하여 간편하게 생성할 수 있습니다.
- 스프링 이니셜라이저에 접속합니다.
- 프로젝트 메타데이터(그룹, 아티팩트, 이름 등)를 입력합니다.
- 스프링 부트 버전을 선택하고, 필요한 스타터 의존성을 추가합니다.
- PROJECT 버튼을 클릭하여 ZIP 파일을 다운로드합니다.
- 다운로드한 파일을 압축 해제하고 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을 설치한 후 아래와 같이 요청을 보냅니다:
- Postman을 열고 새로운 요청을 생성합니다.
- GET 메서드를 선택하고 URL에
http://localhost:8080/api/hello
를 입력합니다. - 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. 결론
스프링 부트를 사용하여 간단한 백엔드 애플리케이션을 구축하고, 작동을 확인하는 방법을 배우셨습니다. 이 강좌를 통해 스프링 부트의 기본적인 설정 및 구조를 이해하는 데 도움이 되었기를 바랍니다. 앞으로 더 복잡한 기능과 디자인 패턴을 적용하여 성숙한 애플리케이션을 개발해 보시기 바랍니다.