반응형
1. 작업 환경
IntelliJ IDEA 2024.1
Springboot 3.2.5
Oracle Open JDK 17.0.9
queryDslVersion 5.0.0
MariaDB 10.6 UTF-8
Gradle
2. build.gradle
웹 애플리케이션 개발 관련:
implementation 'org.springframework.boot:spring-boot-starter-web'
: 스프링 부트에서 제공하는 웹 애플리케이션 개발을 위한 스타터 라이브러리입니다.
DB 관련:
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
: 스프링 부트에서 제공하는 JPA 데이터 지원을 위한 스타터 라이브러리입니다.
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
: MariaDB JDBC 드라이버를 런타임 시에만 사용합니다.
템플릿 엔진 및 레이아웃 관련:
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
: 스프링 부트에서 제공하는 Thymeleaf 템플릿 엔진을 사용하기 위한 스타터 라이브러리입니다.
implementation group: 'nz.net.ultraq.thymeleaf', name: 'thymeleaf-layout-dialect', version: '3.0.0'
: Thymeleaf 레이아웃 디알렉트 라이브러리를 추가합니다.
테스트 관련:
testImplementation 'org.springframework.boot:spring-boot-starter-test'
: 테스트 시에 사용되는 스프링 부트 테스트 스타터 라이브러리입니다.
testCompileOnly 'org.projectlombok:lombok'
: 테스트 시에만 사용되는 롬복 라이브러리입니다.
testAnnotationProcessor 'org.projectlombok:lombok'
: 테스트 시에도 롬복을 사용하기 위한 어노테이션 프로세서를 추가합니다.
개발자 도구 관련:
compileOnly 'org.projectlombok:lombok'
: 개발 시에만 사용되는 롬복 라이브러리입니다.
developmentOnly 'org.springframework.boot:spring-boot-devtools'
: 개발 시에만 사용되는 스프링 부트 개발 도구입니다.
기타:
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
: QueryDSL JPA 라이브러리를 추가합니다.
annotationProcessor(...)
: QueryDSL을 사용하기 위한 어노테이션 프로세서들을 추가합니다.
implementation 'org.modelmapper:modelmapper:3.1.1'
: 모델 매퍼(ModelMapper) 라이브러리를 추가합니다.
3. 프로젝트 구조
Entity를 활용하여 DB를 Springboot안에서 만들고 수정한다.
Controller를 통해 GET/POST 방식으로 model에 값을 담아서 thymeleaf를 이용해서 View를 출력한다.
RootConfig에 Mapping 정보를 미리 만들어 Service에서 mapping을 진행한다.
thymeleaf는 미리 layout을 정해 일정한 형태의 출력을 가지게 한다.
project_root
│ └── config
│ └── RootConfig
│ └── Controller
│ └── BoardController
│ └── domain
│ ├── BaseEntity
│ └── Board
│ └── dto
│ ├── BoardDTO
│ ├── pageResposeDTO
│ └── PageRequestDTO
│ └── repository
│ └── search
│ └── BoardSearch
│ └── BoardSearchImpl
│ └── BoardRepository
│ └── Serivce
│ ├── BoardService
│ └── BoardServiceImpl
│ Application
│
│
├── resource
│ └── templates
│ └── board
│ └── list.html
│ └── layout
│ └── basic.html
│
└── application.properties
4. DB구조
사용자가 입력한 정보를 DB에 담고 필요한 정보를 DB에서 불러오는 형태로 프로젝트를 진행하였다.
반응형
'미니 프로젝트 > 게시판' 카테고리의 다른 글
[Java] 게시판 ⑤ Repository(service) ⓑ (0) | 2024.05.24 |
---|---|
[Java] 게시판 ⑤ Repository(service) ⓐ (0) | 2024.05.23 |
[Java] 게시판 ④ Repository(search) (0) | 2024.05.22 |
[Java] 게시판 ③ DTO (0) | 2024.05.21 |
[Java] 게시판 ② DB구성 (0) | 2024.05.16 |