SpringBoot Project
🧩 Spring Boot Project란
정의
Spring Boot Project는 Spring Boot로 API 서버를 시작할 때 필요한 기본 의존성, 설정, 진입점, 컨트롤러 구조를 갖춘 프로젝트이다. 보통 웹, JPA, 검증, 테스트, 보안 설정을 함께 묶어서 시작한다.
- 빠르게 API 서버를 구성할 수 있다.
- 내장 Tomcat을 사용하므로 별도 WAS 설정이 단순해진다.
- 개발 초기에 필요한 기본 구조를 한 번에 잡기 좋다.
⚙️ 환경 설정
먼저 새 Gradle 프로젝트를 생성하여 의존성을 설정한다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.mariadb.jdbc:mariadb-java-client'
runtimeOnly 'com.h2database:h2'
compileOnly 'org.projectlombok:lombok:1.18.34'
annotationProcessor 'org.projectlombok:lombok:1.18.34'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
application.properties
Spring Boot는 내장 Tomcat을 제공하므로 별도의 WAS 설정이 단순하다.
spring.application.name=edocserver
server.port=8080
spring.datasource.url=jdbc:mariadb://localhost:3309/edoc
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.username=edoc
spring.datasource.password=qwer1234
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.use_sql_comments=true
spring.jpa.hibernate.ddl-auto=update
H2를 쓸 경우
spring.datasource.url,driverClassName,username,password를 H2 설정으로 바꾸면 된다.
🛠 진입점
실행은 Application 진입점 클래스에서 시작한다.
@SpringBootApplication
public class EdocserverApplication {
public static void main(String[] args) {
SpringApplication.run(EdocserverApplication.class, args);
}
}
🛠 Controller 추가
Spring Boot는 경량 API 서버 개발을 위한 프레임워크이므로 Controller를 간단히 추가할 수 있다.
@RestController
@RequestMapping("/test")
public class TestController {
@GetMapping("/string")
public String testString(){
return "test";
}
@GetMapping("/json")
public TestResponse getUserInfo(){
return new TestResponse("홍길동", "010-3333-3333");
}
@PostMapping("/json/withbody")
public TestResponse getEchoUserInfo(@RequestBody TestRequest request){
return new TestResponse(request.getName(), request.getRegistrationNumber());
}
}
@RestController를 사용하면 문자열 반환은 물론 JSON 데이터도 함께 반환할 수 있다.

⚠️ 주의사항
application.properties에 민감 정보를 평문으로 두지 않는 것이 좋다.spring.jpa.hibernate.ddl-auto=update는 개발 편의성이 높지만 운영에서는 신중해야 한다.- 테스트 의존성과 운영 의존성을 구분해서 관리하는 것이 좋다.
- 컨트롤러가 커지면 요청/응답 DTO를 분리하는 편이 유지보수에 유리하다.
📌 정리
- Spring Boot Project는 API 서버의 기본 뼈대를 만드는 문서다.
- 웹, JPA, 검증, 테스트, DB 설정을 함께 묶어 시작하는 흐름이 일반적이다.
- 내장 Tomcat과
@SpringBootApplication이 핵심 진입점이다.
댓글남기기