게시판
-
[Spring Boot] JPA 게시판 만들기(3) - JPA Auditing 설정Spring Boot/2.3.x - JPA 게시판 만들기 2020. 7. 20. 16:08
일반적으로 테이블을 설계할 때 데이터의 생성시간과 수정시간 컬럼을 포함하는데, JPA Auditing을 사용하면 생성시간과 수정시간을 자동으로 관리할 수 있습니다.1.BaseTimeEntity 구현com.rest.api.common.domain 패키지를 생성한 후 BaseTimeEntity 클래스르 추가하세요.BaseTimeEntity.java 더보기 123456789101112131415161718192021222324252627package com.rest.api.common.domain; import java.time.LocalDateTime; import javax.persistence.Column;import javax.persistence.EntityListeners;import j..
-
[Spring Boot] JPA 게시판 만들기(2) - API 테스트 코드 구현Spring Boot/2.3.x - JPA 게시판 만들기 2020. 7. 20. 15:19
@SpringBootTest와 TestRestTemplate를 사용하여 게시글을 조회, 등록, 수정, 삭제하는 API 테스트하는 코드를 구현하겠습니다.BoardControllerTest.java 더보기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129..
-
[Spring Boot] JPA 게시판 만들기(1) - 기본 설정 및 CRUD 구현Spring Boot/2.3.x - JPA 게시판 만들기 2020. 6. 25. 11:32
Spring Data Jpa와 H2 Database를 사용하여 게시글을 조회, 등록, 수정, 삭제하는 API를 구현하겠습니다. 1.Dependency 설정pom.xml더보기 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980?xml version="1.0" encoding="UTF-8"?>project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xs..
-
[Spring Boot] REST API 만들기(15) - Lombok 적용Spring Boot/2.4.x - REST API 만들기 2020. 6. 3. 17:55
Lombok은 DTO, VO, Entity 관련 클래스 생성 시 Getter, Setter, ToString 메서드 등 반복되는 코드를 어노테이션으로 대체하여 컴파일 시에 코드를 생성해주는 자바 라이브러리입니다. 1. 의존성 추가pom.xml에 Lombok에 대한 의존성을 추가하세요.pom.xml더보기1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121..
-
[Spring Boot] REST API 만들기(14) - Swagger 적용Spring Boot/2.4.x - REST API 만들기 2020. 5. 22. 19:27
API 애플리케이션을 구현할 때 API 목록을 HTML 화면으로 문서화하기 위해 방법으로 Swagger가 있습니다. SpringBoot에서 Swagger를 사용하면, 컨트롤러에 적용된 어노테이션을 해석하여 문서화할 수 있습니다.1. 의존성 추가pom.xml에 Swagger에 대한 의존성을 추가하세요.pom.xml 더보기123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108?xm..
-
[Spring Boot] REST API 만들기(10) - XML 요청/응답 구현 및 테스트Spring Boot/2.4.x - REST API 만들기 2020. 5. 19. 17:50
스프링에서 제공하는 MarshallingHttpMessageConverter를 사용하여 XML 형식으로 데이터를 교환할 수 있도록 구현하겠습니다. MarshallingHttpMessageConverter는 스프링 OXM을 이용해서 객체와 XML 간의 상호 변환 작업을 합니다. Spring OXM스프링 OXM(Object Xml Mapping)은 XML 문서를 객체로 변환하거나, 객체를 XML 문서로 변환하는 기능을 제공합니다. 객체를 XML로 변환하는 과정은 XML Marshalling이라고 하며, XML을 객체로 변환하는 과정을 XML UnMarshalling이라고 합니다.Marshaller와 UnMarshaller 인터페이스는 구분되어 있지만, 실제 스프링에서 제공하는 구현체들은 하나의 클래스에서 두..
-
[Spring Boot] REST API 만들기(4) - Log4jdbc 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 5. 17:34
기본적으로 스프링 부트는 Java Util Logging, Log4J2 and Logback 기능을 지원하여 실행된 SQL문을 확인할 수 있지만, 파라미터가 바인드되지 않고 물음표로 출력되거나, 탭이나 개행문자가 적용되지 않아 가독성이 떨어지기 때문에 log4jdbc 설정이 필요합니다.1. pom.xml 의존성 추가 pom.xml에 log4jdbc-log4j2을 사용하기 위해 의존성을 추가하세요.pom.xml 더보기123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869?xml version="1.0" encoding="UTF-8"..
-
[Spring Boot] REST API 만들기(3) - Logback 설정Spring Boot/2.4.x - REST API 만들기 2020. 5. 4. 17:23
1. Logback 이란?Logback "자바 오픈소스 로깅 프레임워크"로 SLF4J의 구현체입니다. 스프링 부트의 기본으로 설정되어 있어서 dependency를 추가하지 않아도 사용 가능합니다. 2. Logback 사용법org.slf4j.Logger와 org.slf4j.LoggerFactory를 import하고, LoggerFactory를 통해 logger를 주입 받으세요. BoardController.java더보기123456789101112131415161718192021222324252627282930313233package com.api.board.controller; import java.util.List; import org.slf4j.Logger;import org.slf4j.LoggerFa..
-
[Spring] 게시판 만들기(22) - MDC(Mapped Diagnostic Context) 설정Spring/4.3.x - 게시판 만들기 2019. 11. 24. 13:37
MDC를 설정하는 이유는 웹 요청에 대한 로그인 정보나 세션 정보를 추적할 수 있기 때문입니다. 현재 샘플에서는 로그인 정보나 세션 정보가 없기 때문에 BOARD_SEQ 값을 추가하였습니다. 1.logback.xml 수정 key에 대한 value 값만 노출하고 싶다면 패턴에 %X{ID}로 추가한 MDC에 key값을 ID로 정의하면 되고('ID'는 임의로 정의한 값), key_value 패턴으로 key와 value 값을 모두 노출하고 싶다면 %X로 추가하면 됩니다. (%X은 로깅이 발생한 Thread와 관련된 MDC에 정보를 출력합니다.) 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 %d [%thread] %-5level %logger - [..
-
[Spring] 게시판 만들기(19) - 파일 업로드(MultipartHttpServletRequest)Spring/4.3.x - 게시판 만들기 2018. 12. 20. 14:00
스프링 프레임워크의 내장 객체인 CommonsMultipartResolver과 jquery.form.js를 이용한 파일 업로드 방식을 진행하겠습니다. 1. TALBE 생성 첨부파일 정보를 저장할 테이블을 생성하세요. 첨부파일을 저장할 테이블은 한 개의 게시물에 여러 개에 첨부파일을 등록할 수 있도록 FILE_NO 컬럼을 추가하세요. 더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -- TB_BOARD_FILE 테이블 생성 및 코멘트 추가 CREATE TABLE BOARD.TB_BOARD_FILE ( BOARD_SEQ INT Not Null COMMENT '게시글 번호' , FILE_NO INT Not Null COMMENT '첨부파일 번호' , FILE_..