개정판을 내면서 2020년에 출간되었던 "스프링 MVC 하루만에 배우기"의 개정판이 출간되었습니다. 큰 기대 없이 아무것도 모르는 후배에게 기초를 알려주자는 생각으로 썼던 글이 생각보다 호응이 좋아서 살짝 놀라기도 했었던 기억이 있습니다. 벌써 3년이라는 시간이 흘렀고, 그동안 개발 환경도 바뀌어서 기존 방법으로는 더이상 작동하지 않는 부분도 생겼네요. 그래서 새롭게 개정판을 작성했습니다. 처음부터 다시 썼으므로 개정판이라고 부르기 어려운 부분도 있으나, 같은 주제에 대해서 책을 여러 권 내는 것도 예의가 아닌 것 같아 구판은 절판하고 신판으로 대체합니다. 전반적인 흐름은 비슷합니다만, 전작과 비교했을 때 다음과 같은 차이점이 있습니다. 기존 책에서 제시한 방법대로 했을 때 동작하지 않던 부분이 수정되었..
사실 이 책은 개정판을 낼 계획이 전혀 없었습니다. 초판이 출간되었을 때와는 상황이 달라졌고, 자바 웹 개발 트렌드는 스프링 부트로 많이 옮겨 갔으니까요. 그럼에도 불구하고 다시 글을 쓰게 된 이유는 어찌 보면 단순합니다. 많이 부족했던 첫 책을 구매해 주셨고, 개인적으로 피드백을 주시던 분들에게 오히려 제가 감사하다고 말씀드리고 싶었기 때문입니다. 코드와 글로만 구성되어 있던 전작과는 달리 하나씩 따라할 수 있게 화면을 준비하면서, 오히려 별 것 아닌 내용에 너무 분량이 많아진 것은 아닌가 한켠 걱정도 됩니다만, 처음 입문하는 분들이 너무 개발을 어려워하지 않고 하나씩 따라하면 어떻게든 되기는 한다는 희망을 가지셨으면 좋겠습니다. 이번 책은 의도적으로 github 코드를 공개하지 않습니다. 이전 작에서..
댓글 목록 기능 만들기 마지막 챕터입니다. 이제껏 배운 기능들을 통해 댓글 목록을 만들어 봅시다. 여기까지 잘 따라오셨으면 어느정도 흐름은 몸에 익으셨을 꺼라 생각합니다. 이번 챕터는 아무런 설명 없이 코드만 제시합니다. 스스로 해 봐야 실력이 늘어납니다. 댓글 목록 매퍼 XML /src/main/resources/sqlmap/TB_BLG_CMT_MAPPER_SQL.xml 댓글 목록 매퍼 인터페이스 /src/main/java/v2/mvc/spring/blog/mapper/CommentMapper.java public List selectListByBlgContSeq(int blgContSeq); 댓글 목록 서비스 구현 클래스 /src/main/java/v2/mvc/spring/blog/service/im..
컨트롤러 추가 /src/main/java/v2/mvc/spring/blog/controller/BlogController.java package v2.mvc.spring.blog.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web..
서비스 레이어 만들기 개요 이번에는 서비스 인터페이스부터 만들고 서비스 구현 클래스가 구현하는 형태가 아니라, 서비스 클래스부터 만들어서 인터페이스를 생성하는 방법을 알아봅니다. 서비스 구현 클래스 만들기 /src/main/java/v2/mvc/spring/blog/service/impl/CommentServiceImpl.java @Service public class CommentServiceImpl implements CommentService { private CommentMapper commentMapper; public CommentServiceImpl(CommentMapper commentMapper) { this.commentMapper = commentMapper; } } blog.serv..
InsertVO 만들기 /src/main/java/v2/mvc/spring/blog/vo/CommentInsertVO.java package v2.mvc.spring.blog.vo; public class CommentInsertVO { private int blgContSeq; private String cmtBdy; private String tmpPw; private int seqBlgCmt; public int getBlgContSeq() { return blgContSeq; } public void setBlgContSeq(int blgContSeq) { this.blgContSeq = blgContSeq; } public String getCmtBdy() { return cmtBdy; } pu..