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')
728x90
반응형
'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 |