-
spring boot 게시판 (gradle, mybatis) #0개발(게시판 프로젝트)/낙서장 2022. 8. 16. 16:13
포스팅 전...
다른 일을 하면서 혼자 프로젝트를 진행하는게 생각보다 쉽지 않다.. (해봤자 게시판 따위지만...)
대학교때 했던 프로젝트는 오래?되어서 해당 코드를 복기하는건 시간낭비라 판단, 혼자 게시판 프로젝트 만들어보며 포트폴리오 준비 중..
처음엔 프로젝트 시작 전 관련 기술들을 정리하여 포스팅하고 중간점검, 리뷰 등을 할 생각이었지만 이마저도 실천하기 쉽지 않음.
늦었지만 지금이라도 정리해서 글을 남겨 놓으려고 한다.
개발환경 및 기술
운영체제 : Mac
JAVA 11
IDE - STS4 (Spring Tool Suite4)
spring boot(2.7.1), gradle, mybatis, bootstrap
AWS - RDS(Maria DB), EC2
*주요 기능
- 로그인 (Spring Security)
- 회원가입 (일반 회원, 소셜 회원(미구현) )
- 글쓰기, 글수정 (회원만 글 작성 가능)
- 댓글 (회원만 댓글 작성 가능)
- 페이징
- 파일 업로드 (미구현)
초기 프로그램 설치 과정은 생략
프로젝트 (패키지) 구조
application.yml 파일
# UTF-8 설정 server: servlet: encoding: charset: UTF-8 force: true # mybatis 설정 mybatis: type-aliases-package: com.jongeon.mybatisboard # mybatis mapper 파일 위치 설정 mapper-locations: mybatis-mapper/**/*.xml spring: datasource: #mariadb hikari: driver-class-name: org.mariadb.jdbc.Driver username: 아이디 jdbc-url: db주소 password: '패스워드' #thymeleaf thymeleaf: cache: 'false' freemarker: cache: 'false' #devtools devtools: ## 자동재시작 사용여부 # classpath 감지 주기 설정(선택사항) 서버재시작 주기를 길게 하려면 숫자 변 # poll-interval 값은 항상 quiet-period 보다 커야한다. #spring.devtools.restart.poll-interval=2s #spring.devtools.restart.quiet-period=1s restart: enabled: 'true' # 새로고침 서버 재시작 옵션 livereload: enabled: 'true' #Spring Security 기본 계정(user) id, pwd 설정 security: user: name: user password: 0000
build.gradle 파일
plugins { id 'org.springframework.boot' version '2.7.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.jongeon.mybatisboard' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { // ##### jdbc ##### implementation 'org.springframework.boot:spring-boot-starter-jdbc' // ##### Thymeleaf ##### // Thymeleaf layout 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect:3.1.0' // Spring 프로젝트에 필요한 대부분의 라이브러리가 추가 됨 (Starter-web) implementation 'org.springframework.boot:spring-boot-starter-web' // ##### Mybatis ##### implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.2' // ########## Spring Security 사용을 위한 의존성 추가 (starter-security) //스프링 시큐리티 인증을 받은 로그인 한 사용자의 정보를 타임리프에서 사용하고 싶을 때 사용 implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5' // ##### lombok ##### compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' // ##### Devtools ##### // 브라우저로 전송되는 내용들에 대한 코드가 변경되면 // 자동으로 어플리케이션을 재시작 // 브라우저에도 업데이트를 해주는 역할을 한다. developmentOnly 'org.springframework.boot:spring-boot-devtools' // ##### MariaDB ##### runtimeOnly 'org.mariadb.jdbc:mariadb-java-client' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' // Test 환경 구성을 위한 의존성 주입, 테스트 코드를 수행할 때만 적용 testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() }
*해당 게시판 프로젝트는 spring boot 사용 방법을 알아가기 진행 (연습용?)
*소스코드가 미흡하고 효율적이지 못할 수 있습니다.github : https://github.com/KimJongEon/2022MyBatisBoard
GitHub - KimJongEon/2022MyBatisBoard: 2022MyBatisBoard
2022MyBatisBoard. Contribute to KimJongEon/2022MyBatisBoard development by creating an account on GitHub.
github.com
ERD 참고
https://www.erdcloud.com/d/pjs8fdRuTahNoy3xs
2022_게시판 프로젝트
Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool.
www.erdcloud.com
'개발(게시판 프로젝트) > 낙서장' 카테고리의 다른 글
드래그 앤 드롭 API 파일 업로드 참고 (drag and drop) (0) 2022.08.18