반응형

미니 프로젝트/게시판 9

[Java] 게시판 ⑧ View

잡담html 및 javaScript 코드 같은 경우 양이 너무 많기 때문에  중요 코드 부분만 따로 설명하도록 하겠습니다. Controller를 통해 확인해 본 html의 종류는 list, modify, read, register 4가지 정도입니다. list는 메인화면을 출력하고, register를 통해 새로운 게시글을 등록합니다. read를 통해 원하는 하나의 게시글만 출력하고, modify를 통해 수정할 데이터를 받아와 출력합니다.처음부터 모든 UI를 꾸미는것은 지금 백앤드를 연습하는 단계 임으로 Bootstrap을 이용해서 css부분을 대신하기로 하였습니다. 1. BootStrap부트스트랩(Bootstrap)은 트위터에서 개발된 오픈 소스 프런트엔드 프레임워크로, 웹 개발자들이 반응형 웹사이트와 웹..

[Java] 게시판 ⑦ Controller

잡담Controller는 MVC (Model-View-Controller) 패턴에서 클라이언트로부터 받은 요청에 대한 응답을 생성하는 역할을 합니다. 이전에도 언급했듯이 클라이언트로부터 HTTP 요청을 받고 해당요청을 적절한 메서드로 라우팅 합니다. 해당 메서드에서 데이터 검색, 조작, 생성등의 작업을 수행하면서 모델링 된 데이터를 적절한 view를 선택해서 응답합니다.목차BoardController 1.list(GetMapping) 2. register(Get/PostMapping) 3. read, modify(GetMapping) 4. modify(PostMapping) 5. delete(PostMapping)BoardController스프링 기반의 웹 애플리케이션에서 게시판(Board) 관련 기능을..

[Java] 게시판 ⑥ ModelMapper

잡담DB에 대한 설정 같은 경우 형식적으로 정해져 있는 경우가 많습니다. 왜 이렇게 생겼지?라고 생각하게 되는 경우가 많은데 이해하기엔 너무 많은 메서드를 들고 있어서 그렇습니다. 자주 사용하는 메서드가 어떤 동작을 해주는지를 이해하고 형태에 대해서는 그렇구나 하고 넘어가는 게 좋은 거 같습니다. 제 생각이 그렇다는 말이지 다른 생각이 있다면 그 생각이 맞습니다. 1. RootConfig이 코드는 Spring Framework에서 ModelMapper를 설정하기 위한 설정 클래스입니다. ModelMapper는 객체 간 매핑을 쉽게 해주는 라이브러리로, 주로 DTO와 엔티티 간의 변환에 사용됩니다.implementation 'org.modelmapper:modelmapper:3.1.1'ModelMapper..

[Java] 게시판 ⑤ Repository(service) ⓑ

잡담앞서 JPARepository를 이용해서 CRUD 형태의 기본적인 메서드를 만들어봤습니다. 이번에는 메인화면에서 게시글을 출력할 때 전체 출력 및 검색한 내용에 대해서만 출력할 수 있도록 메서드를 작성해 보았습니다.  1. 출력(list)list 메서드에서는 매개변수로 pageRequestDTO를 받아서 BoardDTO클래스를 가지는 PageResponseDTO리스트를 return 합니다. pageRequestDTO는 기본 페이지 정보를 가지고 있습니다. 예를 들어서 첫 페이지 번호, 페이지 사이즈, 검색조건도 받아오고, 입력받은 키워드값도 받아옵니다. list메서드를 이용해서 Controller에서 메인화면을 출력하고 검색한 조건을 활용한 출력도 가능해집니다.@Override public Pa..

[Java] 게시판 ⑤ Repository(service) ⓐ

잡담Repository(service)에서는 게시판에서 기본적으로 사용하는 입력하고, 삭제하고, 검색하는 메서드를 정의합니다. 해당 메서드들을 Controller에서 데이터를 주고받을 때 호출해서 사용할 겁니다.1. BoardServicepackage org.zerock.b01.service;import org.zerock.b01.dto.BoardDTO;import org.zerock.b01.dto.PageRequestDTO;import org.zerock.b01.dto.PageResponseDTO;public interface BoardService { Long register(BoardDTO boardDTO); BoardDTO readOne(Long bno); void modify(B..

[Java] 게시판 ④ Repository(search)

다형성 예시운송 수단 클래스와 하위 클래스들:상위 클래스: 운송 수단(Vehicle)하위 클래스: 자동차(Car), 자전거(Bicycle), 비행기(Airplane)운송 수단(Vehicle) 클래스는 이동하기(move)라는 메서드를 갖고 있습니다. 이 메서드는 자동차, 자전거, 비행기 등에서 다르게 구현됩니다. 자동차는 바퀴를 굴려 이동하고, 자전거는 페달을 밟아 이동하며, 비행기는 날개를 이용해 날아갑니다. 운송 수단 타입의 변수로 자동차, 자전거, 비행기 객체를 모두 참조할 수 있고, 이동하기 메서드를 호출하면 해당 객체에 맞는 방식으로 이동합니다.이 다형성의 이점을 이용하려고 Repository를 만듭니다1. BoardSearch(interface)package org.zerock.b01.repos..

[Java] 게시판 ③ DTO

1. PageRequestDTOSpringboot에서 HTTP요청을 할 때 get방식과 post방식을 많이 쓴다는 것은 앞에서도 많이 다뤘는데요. servlet에서 request와 response에 데이터를 많이 담아서 요청을 했었는데 Springboot에는 Model이라는 개념이 있다고 했었습니다. 개념적으로는 아래글을 참조하시면 됩니다.2024.05.09 - [Framework/Springboot] - [Springboot] Controller (get / post) [Springboot] Controller (get / post)잡담오늘은 Springboot에서 RestController를 이용해서 json처리하는 방법과 해당 결과를 출력하는 thymeleaf에 대한 예제와 get / post 방식..

[Java] 게시판 ② DB구성

잡담게시판 미니프로젝트를 실행할 때 가장 먼저 구상한 것은 DB에 어떤 데이터를 담을 것인가입니다. 후에 제대로 된 프로젝트를 진행한다면 다양한 데이터를 담겠지만 지금은 기능을 구현하는데 집중하려고 했기 때문에 최대한 간단하게 구성하려고 하였습니다. 기본적으로 게시판에 들어가는 제목, 내용, 작성자, 작성날짜등이 들어가도록 구성하였습니다.  1. Boardpackage org.zerock.b01.domain;import jakarta.persistence.*;import lombok.*;@Entity@Getter@Builder@AllArgsConstructor@NoArgsConstructor@ToStringpublic class Board extends BaseEntity{ @Id @Gener..

[Java] 게시판 ① 설계

1. 작업 환경IntelliJ IDEA 2024.1Springboot 3.2.5Oracle Open JDK 17.0.9queryDslVersion 5.0.0MariaDB 10.6 UTF-8Gradle  2. build.gradle웹 애플리케이션 개발 관련:implementation 'org.springframework.boot:spring-boot-starter-web': 스프링 부트에서 제공하는 웹 애플리케이션 개발을 위한 스타터 라이브러리입니다.DB 관련:implementation 'org.springframework.boot:spring-boot-starter-data-jpa': 스프링 부트에서 제공하는 JPA 데이터 지원을 위한 스타터 라이브러리입니다.runtimeOnly 'org.mariadb...

반응형