Cohe
SpringBoot Project 게시판 만들기 본문
728x90
springboot project 게시판 만들기
spring boot 게시판 만들기를 시작하면서, 앞으로의 목차와 프로젝트의 기본 gradle 설정을 이야기 하고자 한다.
참고로 springboot 3.2.5 버전이다!!!
목차
- 게시판 만들기 : Board table에 맞춰 작성
- CRUD
- 게시글의 목록/검색/페이지 처리
- 게시물의 등록
- 게시물의 조회
- 게시물의 수정/삭제
- post 후 모달창
- Search
- reply 개수 넣기
- CRUD
- 댓글 달기 : reply
- 회원 정보 : member
시작하기
시작하기 앞서 해당 링크에 접속한다 https://start.spring.io/
해당 링크에서 다음과 같이 맞춰준다.
- 프로젝트 옵션:
- Project: Gradle - Groovy 선택됨
- Language: Java 선택됨
- Spring Boot 버전: 3.2.5 선택됨
- 프로젝트 메타데이터:
- Group:
com.example
- Artifact:
demo
- Name:
demo
- Description:
Demo project for Spring Boot
- Package name:
org.example.demo
- Packaging: Jar 선택됨
- Java 버전: 17 선택됨
- Group:
- 종속성(Dependencies):
- Lombok: Java 애노테이션 라이브러리
- Spring Boot DevTools: 개발 도구
- Spring Web: 웹 개발 도구
- Spring Data JPA: 데이터 퍼시스턴스
- MySQL Driver: MySQL JDBC 드라이버
- Thymeleaf: 템플릿 엔진
- 생성 버튼:
GENERATE
버튼을 클릭하여 설정된 프로젝트를 생성할 수 있습니다.
마지막으로 build.gradle에서 앞으로 할(?) 의존성들을 주입한다! (원래라면 하나씩 추가해야 한다..)
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.5'
id 'io.spring.dependency-management' version '1.1.4'
id 'org.jetbrains.kotlin.jvm'
}
group = 'org.zerock'
version = '0.0.1-SNAPSHOT'
java {
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
//swagger UI
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-validation'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// lombok setting - test에서 사용할 수 있게 설정
testCompileOnly 'org.projectlombok:lombok'
testAnnotationProcessor 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
//Thymeleaf의 레이아웃 기능을 위한 추가 라이브러리
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.3.0'
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}:jakarta"
annotationProcessor(
"jakarta.persistence:jakarta.persistence-api",
"jakarta.annotation:jakarta.annotation-api",
"com.querydsl:querydsl-apt:${queryDslVersion}:jakarta"
)
implementation 'org.modelmapper:modelmapper:3.2.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation 'org.springframework.boot:spring-boot-starter-security'
//ThymeLeaf에서 스프링 시큐리티 사용하기 위한 라이브러리
// https://mvnrepository.com/artifact/org.thymeleaf.extras/thymeleaf-extras-springsecurity5
implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity6:3.1.2.RELEASE'
//OAuth2 인증...
implementation 'org.springframework.boot:spring-boot-starter-oauth2-client'
}
tasks.named('test') {
useJUnitPlatform()
}
sourceSets {
main{
java{
srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"]
}
}
}
compileJava.dependsOn('clean')
'Spring, SpringBoot' 카테고리의 다른 글
Spring Security와 사용자 역할 관리: 오늘의 학습 내용 정리 (0) | 2024.08.27 |
---|---|
JWT를 이용한 Spring Security 인증 구현하기 (0) | 2024.08.27 |
SpringBoot Project 게시판 만들기 2 (1) | 2024.05.24 |
MyBatis 스프링 연동 (0) | 2024.04.19 |