게시판 백엔드 서버의 요구 사항 정의하기
게시판 백엔드 서버 구축을 시작하기 전에 게시판 백엔드 서버에 대한 요구 사항을 정의해 보겠습니다. 게시판 백엔드 서버는 다음을 수행할 수 있어야 합니다:
게시글 작성, 읽기, 업데이트 및 삭제(CRUD).
데이터베이스에 게시글을 저장합니다.
게시물과 상호 작용하기 위한 엔드포인트를 제공합니다.
Spring Initializr를 사용하여 새 Spring Boot 프로젝트 만들기
이제 요구 사항을 정의했으므로 Spring Initializr를 사용하여 새 Spring Boot 프로젝트를 생성해 보겠습니다. Spring Initializr는 Spring Boot 프로젝트를 빠르게 생성하기 위한 웹 기반 도구입니다. 프로젝트 종속성을 선택하고 프로젝트 구조를 생성하기 위한 간단한 인터페이스를 제공합니다.
Spring Initializr를 사용하여 새 Spring Boot 프로젝트를 생성하려면 다음과 같이 하세요:
Spring Initializr 웹사이트(https://start.spring.io/)로 이동합니다.
다음 세부 정보로 양식을 작성합니다:
프로젝트: Maven 프로젝트
언어: Java
스프링 부트: 2.5.0
패키징: Jar
Java: 11
종속성: Spring Web, Spring Data JPA, H2 데이터베이스
"생성" 버튼을 클릭합니다.
생성된 프로젝트 압축 파일을 다운로드하여 원하는 디렉터리에 압축을 풉니다.
게시판 서버용 데이터베이스 구축 및 구성하기
프로젝트를 생성했으니 이제 게시판 서버용 데이터베이스를 빌드하고 구성해 보겠습니다. 이 프로젝트에서는 설정과 사용이 쉬운 인메모리 데이터베이스인 H2 데이터베이스를 사용합니다.
게시판 서버용 데이터베이스를 빌드하고 구성합니다:
src/main/resources 디렉터리에 있는 application.properties 파일을 엽니다.
파일에 다음 속성을 추가합니다:
# Database configuration
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
# Hibernate configuration
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop
이러한 속성은 애플리케이션에서 사용할 H2 데이터베이스를 구성합니다. spring.datasource.url 속성은 H2 데이터베이스의 URL을 설정하고, spring.jpa.hibernate.ddl-auto 속성은 Hibernate ORM(객체 관계형 매핑) 프레임워크의 동작을 설정합니다. 이 경우, 애플리케이션이 시작될 때 데이터베이스 스키마를 생성하고 애플리케이션이 종료될 때 삭제하도록 Hibernate에 지시합니다.
모델, 리포지토리 및 서비스 만들기
데이터베이스가 구성되었으므로 이제 애플리케이션의 모델, 리포지토리 및 서비스를 만들어 보겠습니다.
모델
모델은 애플리케이션의 데이터를 나타냅니다. 여기서는 게시판 애플리케이션의 게시물을 나타내는 게시물 모델을 만들겠습니다.
src/main/java/com/example/demo 디렉터리에 Post라는 Java 클래스를 새로 만듭니다.
클래스에 다음 코드를 추가합니다:
@Entity
@Table(name = "posts")
public class Post {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String content;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
'개발 > spring' 카테고리의 다른 글
Spring Initializr를 사용하여 새 Spring Boot 프로젝트 만들기 (0) | 2023.05.15 |
---|---|
스프링 부트 소개 (0) | 2023.05.15 |
스프링 프레임워크 소개 (0) | 2023.05.15 |