시작하기 전에
하기 포스팅은 "스프링부트 시작하기(김인우 저)" 책을 공부하며 적은 포스팅입니다. 이번 포스팅에서는 간단하게 게시판을 구현해보도록 하겠습니다. 앞서 데이터베이스를 만들기만 했으므로, 데이터베이스에 데이터도 넣어보고 스타일 시트 추가 및 롬복 설정을 해보겠습니다.
데이터베이스 구성하기
먼저 기존에 생성한 데이터베이스(example)에 테이블을 만들어보도록 하겠습니다. 아래 쿼리를 이용해 게시글을 저장할 테이블을 생성합니다.
DBeaver 기준으로 table 생성하는 방식은 아래와 같습니다.
1. table을 생성하고자 하는 database를 마우스 오른쪽 버튼으로 클릭한 후 Create > Table을 클릭합니다.
2. 그 후 나온 화면에서 테이블명을 정해준 후 오른쪽 하단에 위치한 컬럼 아이콘(빨간 박스)를 클릭하여 컬럼을 추가합니다. 추가해야할 컬럼리스트는 아래 사진을 참고하면 됩니다.
3. primary key를 선정하기 위해 Constraints 탭에 들어가 하기와 같이 기본키를 설정합니다. primary key 설정을 위해서는 왼쪽 사진의 오른쪽 하단 컬럼 아이콘(빨간 박스)를 클릭하면 됩니다.
4. 설정이 완료되면 저장 버튼을 클릭한 후 Persist 버튼을 누르면 table을 생성이 완료됩니다.
table 생성 결과물
스타일 시트 추가하기
사실 개발 자체에는 스타일 적용 유무가 큰 영향을 끼치지 않습니다. 다만, 화면을 좀 더 깔끔하게 보기 위해 설정하도록 하겠습니다.
Spring에서는 스타일시트나 자바스크립트, 이미지 등의 정적 리소스들은 /META-INF/resources 폴더 안에 있었지만, springboot에서는 static 폴더안에 넣으면 됩니다.
1. src/main/resources 폴더 밑의 static 폴더에 css 폴더를 생성하고 style.css 파일을 생성합니다.
2. 아래와 같은 코드를 style.css 파일에 입력합니다.
@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/nanumgothic.css);
@import url(http://cdn.jsdelivr.net/font-nanum/1.0/nanumbarungothic/nanumbarungothic.css);
html{overflow:scorll;}
html, body, div, h1, h2, a, form, table, caption, thead, tbody, tr, th, td, submit {
margin:0; outline:0; border:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent;
}
body {
font-size:0.875em; line-height:1.5; color:#666; -webkit-text-size-adjust:none; min-width:320px;
font-family:'NanumGothic','나눔고딕',dotum, "Helvetica Neue", Helvetica, Verdana, Arial, Sans-Serief;
}
h1, h2, h3 {font-size: 1.5em;}
p{margin:0; padding:0;}
ul{margin:0;}
a:link, a:visited {text-decoration:none; color: #656565;}
input{vertical-align:middle;}
input:focus {outline:0;}
caption {display:none; width:0; height:0; margin-top:-1px; overflow:hidden; visibility:hidden; font-size:0; line-height:0;}
.container {max-width:1024px; margin:30px auto;}
.board_list {width:100%; border-top:2px solid #252525; border-bottom:1px solid #ccc; margin:15px 0; border-collapse: collapse;}
.board_list thead th:first-child {background-image:none;}
.board_list thead th {border-bottom:1px solid #ccc; padding:13px 0; color:#3b3a3a; text-align: center; vertical-align:middle;}
.board_list tbody td {border-top:1px solid #ccc; padding:13px 0; text-align:center; vertical-align:middle;}
.board_list tbody tr:first-child td {border:none;}
.board_list tbody tr:hover{background:#ffff99;}
.board_list tbody td.title {text-align:left; padding-left:20px;}
.board_list tbody td a {display:inline-block}
.board_detail {width:100%; border-top:2px solid #252525; border-bottom:1px solid #ccc; border-collapse:collapse;}
.board_detail tbody input {width:100%;}
.board_detail tbody th {text-align:left; background:#f7f7f7; color:#3b3a3a; vertical-align:middle; text-align: center;}
.board_detail tbody th, .board_detail tbody td {padding:10px 15px; border-bottom:1px solid #ccc;}
.board_detail tbody textarea {width:100%; min-height:170px}
.btn {margin:5px; padding:5px 11px; color:#fff !important; display:inline-block; background-color:#7D7F82; vertical-align:middle; border-radius:0 !important; cursor:pointer; border:none;}
.btn:hover {background: #6b9ab8;}
.file_list a {display:inherit !important;}
롬복(lombok) 추가하기
롬복(lombok)은 자바 클래스를 만들 때 흔히 만드는 코드들을 어노테이션을 이용해 자동으로 만들어주는 라이브러리입니다. 흔히 만드는 코드란, DTO와 같은 곳에서 항상 만들게 되는 getter, setter 메소드나 상황에 따라 자주 만드는 toString, equals, hashCode와 같은 메소드를 의미합니다.
DTO를 만들 때 eclipse와 같은 IDE에서 getter, setter를 자동으로 만들어주는 기능을 제공하지만, 소스가 길어진다는 단점이 있습니다. 또한, 클래스가 변경되면 관련 메소드 역시 수정해야 합니다.
롬복(lombok)은 단순히 어노테이션만 붙여줌으로써 어노테이션에 맞는 코드를 자동으로 생성해줍니다. 자동 생성되는 코드는 소스 파일에서는 확인할 수 없지만, eclipse의 Outline과 같이 메소드 리스트를 확인할 수 있는 곳에서는 자동으로 생성된 메소드를 볼 수 있습니다.
롬복(lombok) 설치하기
앞서 프로젝트를 생성할 때 롬복 의존성을 추가했습니다. 하지만, 의존성만 추가한다고 하여 롬복이 동작하는 것은 아닙니다. eclipse에서 롬복 플러그인을 적용해야만 롬복이 정상적으로 코드를 만들어줍니다. 롬복 플러그인은 eclipse의 마켓플레이스에 없고, 직접 사이트에 들어가서 다운로드해야 합니다.
1. 롬복 홈페이지에서 롬복 플러그인을 다운받습니다.
https://projectlombok.org/download
2. 롬복 설치 경로는 원하는 곳으로 지정하면 됩니다. 필자의 경우 download 위치에 넣었습니다.
3. terminal을 킨 후 롬복 설치한 경로로 이동합니다. 그 후, java -jar lombok.jar을 실행합니다.
3. lombok.jar가 실행되면 Install / Update를 눌러 설치해줍니다.
4. 설치가 완료되면 eclipse를 재시작합니다.
'FRAMEWORK > Spring' 카테고리의 다른 글
[SpringBoot] 게시판 구현하기 4 (게시글 등록 기능 생성하기) (0) | 2020.12.21 |
---|---|
[SpringBoot] 게시판 구현하기 3 (게시판 목록 만들기) (2) | 2020.12.21 |
[SpringBoot] 게시판 구현하기 1 (SpringBoot 프로젝트 생성 및 Database 연동) (0) | 2020.12.13 |
[Spring] 스프링 프레임워크 이해하기 (0) | 2020.12.12 |
[SpringBoot] Springboot 프로젝트 만들어보기 (0) | 2020.12.12 |