728x90
Lombok(롬복)
-java기반에서 기계적으로 작성하는 VO,DTO,Entity 관련작업을 보다 쉽게 하게 해주는 도구
-Getter,Setter,ToString,hashCode 관련 메소드 작업 관련 Class(클래스) 코드를 깔끔하게 작성 할 수 있습니다.
package com.testspring.testspring.controller;
import com.testspring.testspring.domain.Board;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.List;
import java.util.Date;
//Controller선언!
@Controller
public class BoardController {
//RequestMapping : 호출하는 클라이언트의 정보를 가져다가 서버(controller)에 전달해주는 매핑
@RequestMapping("/getBoardList") //()안에 접속할 url주소를 넣어준다
public String getBoardList(Model model){ //파라미터로 model받아오기
//List타입으로 Board객체를 넣는 boardList변수명선언
//= 대입연산자 heap메모리에 ArrayList타입으로 할당, List는 ArrayList의 부모클래스
List<Board> boardList = new ArrayList<Board>();
for(int i = 1; i <= 10; i++){
//Board 클래스로 board 인스턴스 생성
Board board = new Board();
//롬북으로 자동생성된 setter 메서드로 데이터입력
board.setSeq(new Long(i));
board.setTitle("게시판 프로그램 테스트");
board.setWriter("도우너");
board.setContent("게시판 프로그램 테스트입니다...");
board.setCreateDate(new Date());
board.setCnt(0L);
//boardList에 board객체 넣기(for문 열번도니까 board객체 10개넣기)
boardList.add(board);
}
model.addAttribute("boardList", boardList); //model을 통해 변수등록 .addAttribute
return "getBoardList"; //return을 써주면 ->template안에 getBoardList를 알아서 찾아서 ->브라우저로 전송 *ViewResolver
//getBoardList라는 url을 입력받았을때 getBoardList를 찾아서 반환해준다.
}
}
package com.testspring.testspring.domain;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class Board {
private Long seq;
private String title;
private String writer;
private String content;
private Date createDate;
private Long cnt;
}
<!DOCTYPE html>
<!-- 타임리프 템플릿을 통해서 controller자바에서 받아온 데이터를 html문서에 적용시킨 뒤 완성된 html파일만 클라이언트 전달-->
<html xmls:th="http://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html"; charset="UTF-8">
<title>Title</title>
</head>
<body th:align="center">
<h1>게시글목록</h1>
<table th:align="center" border="1" th:cenllpadding="0" th:cellspacint="0" th:width="700">
<tr>
<th bgcolor="orange" width="100">번호</th>
<th bgcolor="orange" width="200">제목</th>
<th bgcolor="orange" width="150">작성자</th>
<th bgcolor="orange" width="150">등록일</th>
<th bgcolor="orange" width="150">조회수</th>
</tr>
<!--model에 있는 데이터를 타임리프는 html에 뿌려주게되고, 순수한 html파일로 만들어서 톰캣에 전달-->
<!--each : for문 -->
<!--모델에있는 boardList 배열을 순회해서 board라는 객체를 하나씩 출력(유사 : 향상된 for문)-->
<!-- 이름을 바꾸면서 입력되게 하고싶으면 ${} -->
<tr th:each ="board : ${boardList}">
<td th:text="${board.seq}">
<td th:text="${board.title}">
<td th:text="${board.writer}">
<td th:text="${board.createDate}">
<td th:text="${board.cnt}">
</tr>
</table>
<br>
<a th:href="insertBord">새글등록</a>
</body>
</html>
코드출처 : 누구나끝까지따라할수있는 스프링부트 - 채규태
728x90
'STUDY > SpringBoot' 카테고리의 다른 글
[SpringBoot] gradle 배포 + 클라우드 배포 (0) | 2022.08.01 |
---|---|
[SpringBoot] BootStrap 레이아웃 정리✔ [2] (0) | 2022.07.31 |
[SpringBoot] MVC(Model·View·Contoller) 정리✔ [1] (0) | 2022.07.29 |
[SpringBoot] Spring Framework 개념 정리✔ (0) | 2022.07.28 |
[SpringBoot] 22-07-28 SpringBoot 전체 이해하기 ☑ (0) | 2022.07.28 |