[Spring] 08. 게시판의 초기 MVC 구성개발자가 되기까지 (2023.08.16~2024.04.15)/[Spring] Basic Web2024. 1. 16. 21:49
Table of Contents
domain package에서 BoardVO class 작성
BoardVO.java
package com.basicWeb.www.domain;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Setter
@Getter
public class BoardVO {
private long bno;
private String title;
private String writer;
private String content;
private String regAt;
private String modAt;
private int readCount;
private int cmtQty;
private int hasFile;
}
BoardVO의 어노테이션(@)들은 객체를 생성하고 다룰 때 편의를 제공하기 위해 사용되는
lombok 어노테이션이다.
Controller package에서 BoardController class 작성
BoardController.java
package com.basicWeb.www.Controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.basicWeb.www.service.BoardService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequestMapping("/board/*")
@RequiredArgsConstructor
@Controller
public class BoardController {
private final BoardService bsv;
}
BoardController의 어노테이션(@)은 다음과 같은 기능을 한다.
@Slf4j | lombok 어노테이션 중 하나로, log를 사용하려고 씀 |
@RequestMapping("/board/*") | 특정 URL 패턴에 대한 요청을 처리하는 Method가 속하는 컨트롤러를 지정 |
@RequiredArgsConstructor | lombok 어노테이션 중 하나로, final이나 @NonNull인 필드를 가지는 클래스에 대한 생성자를 자동으로 생성 |
@Controller | Controller class를 나타내는 어노테이션 |
service package에서 BoardService interface와 BoardServiceImpl class 작성
BoardService.interface
package com.basicWeb.www.service;
public interface BoardService {
}
BoardServiceImpl.java
package com.basicWeb.www.service;
import org.springframework.stereotype.Service;
import com.basicWeb.www.repository.BoardDAO;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RequiredArgsConstructor
@Service
public class BoardServiceImpl implements BoardService{
private final BoardDAO bdao;
}
BoardServiceImpl의 어노테이션(@)은 앞서 설명한 어노테이션을 제외하고 설명하고자 한다.
@Service | 서비스 클래스를 정의 |
repository package에 BoardDAO 작성
BoardDAO.interface
package com.basicWeb.www.repository;
public interface BoardDAO {
}
마지막으로 src / main / resources의 mappers package에서 boardMapper.xml 생성 및 작성
mapper 초기 설정은 항상 https://mybatis.org/mybatis-3/ko/getting-started.html를 참고해서 작성하도록 한다.
boardMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.basicWeb.www.repository.BoardDAO">
</mapper>
[Spring] 08. 게시판의 초기 MVC 구성
(다음 게시물 예고편)
[Spring] 09. 게시판 글쓰기
728x90
@rlozlr :: 얼렁뚱땅 개발자
얼렁뚱땅 주니어 개발자
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!