본문 바로가기

스프링 부트(Spring Boot)27

스프링 부트(Spring Boot ) 게시판 - 게시글 상세정보 조회 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 리스트 페이지를 구현해 보았습니다. 이번에는 특정 게시글의 상세정보를 보여주는 상세 페이지를 구현해 보도록 하겠습니다. 리스트 페이지와 마찬가지로, 컨트롤러와 HTML만 손봐주면 상세 페이지 구현이 완료됩니다. 1. 컨트롤러(Controller)에 메서드 추가하기 PostController에 다음의 메서드를 추가해 주세요. // 게시글 상세 페이지 @GetMapping("/post/.. 2023. 4. 5.
스프링 부트(Spring Boot) 게시판 - 게시글 리스트 조회 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 데이터를 처리할 서비스, 컨트롤러, 그리고 게시글 등록 페이지(HTML)와 게시판의 모든 페이지에서 공통으로 사용할 레이아웃까지 처리해 보았습니다. 이번에는 게시글의 목록을 보여줄 리스트 페이지를 구현해 볼 건데요. 우리는 이미 서비스(Service)와 매퍼(Mapper)에 게시글 CRUD 기능을 모두 구현해 두었기 때문에 화면(User Interface)을 담당하는 컨트롤러와 HT.. 2023. 4. 5.
스프링 부트(Spring Boot) 게시판 - 게시글 등록 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 데이터를 관리할 tb_post 테이블을 생성하고, MyBatis를 이용해서 게시글 CRUD 기능을 구현해 보았습니다. JUnit 단위 테스트까지 진행해 보았으니 지금부터는 실전입니다. 이번 글에서는 비즈니스 로직을 담당하는 서비스(Model), 사용자가 보는 화면을 의미하는 UI(View), 마지막으로 서비스와 UI를 연결해 주는 컨트롤러(Controller)를 처리하는 방법과 개발.. 2023. 4. 3.
스프링 부트(Spring Boot) - 게시판 CRUD 처리하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. 본 포스팅은 DBeaver를 기준으로 작성된 글이며, 만약 MariaDB가 설치되어 있지 않으시다면, 선행 작업 으로 MariaDB 설치하기를 꼭! 진행해 주세요. 이전 글에서는 스프링 부트와 데이터베이스(MariaDB + MyBatis)를 연동하고, JUnit을 이용해서 단위 테스트 하는 방법을 알아보았습니다. 이번 글부터는 약속대로 게시판을 구현해 보도록 하겠습니다. 대학에서 처음으로 동아리원들과 진행해 본 프로젝트는 게시판이었습니다. "뜬금없이 무슨 게시판이야?"라고 생각하실 수도 있습니다만, 웹 개발에 있어 게시판은 가장 기본적이며, 어떠한 시스템이던 게시판의 특성을 가지고 있습니다. 즉,.. 2023. 3. 23.
스프링 부트(Spring Boot) - 게시판 MariaDB(HikariCP) 연동하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. 본 포스팅은 DBeaver를 기준으로 작성된 글이며, 만약 MariaDB가 설치되어 있지 않으시다면, 선행 작업 으로 MariaDB 설치하기를 꼭! 진행해 주세요. 이전 글에서는 스프링 부트 프로젝트의 구조와 필수적인 파일, 그리고 MVC 패턴에 대해 알아보았습니다. 이번에는 스프링 부트와 MariaDB 데이터베이스를 연동하는 시간을 가져보도록 할 건데요. PC에 MariaDB와 GUI 툴이 설치되어 있다는 가정 하에 진행합니다. GUI 툴은 본인에게 가장 익숙한 걸 사용하시는 게 좋습니다. 저는 DBeaver라는 툴을 사용하고 있는데, 여러 DBMS를 지원해 주기도 하고, 이클립스와 단축키가 거.. 2023. 3. 20.
스프링 부트(Spring Boot) - 게시판 프로젝트 구조 알아보기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 이전 글에서는 자바 JDK 설치, 환경 변수 설정, 인텔리제이(IntelliJ) 설치 및 환경 설정, 스프링 부트 프로젝트 생성 및 Import 등 기본적인 게시판 개발환경을 세팅해 보았습니다. 이번에는 스프링 부트에서 중요한 역할을 하는 폴더와 파일들에 대해 알아보고, 스프링 레거시와의 차이점을 비교해 보도록 하겠습니다. 1. src/main/java 디렉터리 스프링 레거시와 마찬가지로 클래스, 인터페이스 등 Java 관련 파일이 위치하는 디렉터리입니다. 2. BoardApplication 클래스 이전 글에서 생성한 Board 프로젝트의 com.study 패키지에는 우리가 생성하지 않은 BoardApplication 클래스가 포함되어 있습니다. 파일을 열어보면 메서드 선언부에는 딸랑 main( ) 메서.. 2023. 3. 20.
스프링 부트(Spring Boot) JPA 게시판 - 전역 예외 처리(Global Exception Handling) 알아보기 본 JPA 게시판 프로젝트는 단계별(step by step)로 진행됩니다. 이전 글에서는 JPA의 개념과 사용 방법에 대해 간단하게 알아보았고, 게시글 생성(Create), 조회(Read), 삭제(Delete) 기능을 테스팅해 보았습니다. 이번 글에서는 스프링에서의 예외 처리 방법에 대해 말씀드리려 합니다. 기존에 알던 예외 처리와는 차원이 다른, 애플리케이션 전역에서 예외를 핸들링할 수 있는... (두근두근) 그럼, 바로 시작해 볼게요 :) 1. 로그백(Logback) 적용하기 이전 글에서 테스팅을 진행했을 때 SELECT 쿼리의 결과는 다음과 같았습니다. 개발 과정에서 로깅(Logging)은 너무나도 필수적인 요소인데요. 작업에 들어가기 전, 몇 가지 부가적인 설정들을 적용하고 시작하는 게 좋을 듯합.. 2021. 9. 14.