spring
-
[Spring] RestTemplate을 편리하게 사용하자 (샘플 포함)백엔드/Spring 2022. 6. 12. 19:19
🚀 들어가면서 RestTemplate을 구체화하면서, 편리하게 사용할 수 있도록 만들어보고 싶었다. 통신 사이에 AOP를 구현하여, 요청과 응답의 URI, Body, Param, Header를 로깅하는 기능을 할까 하였지만.. RestTemplate에 인터셉터를 추가할 수 있는 함수가 있어서 적절히 사용했다. ⚙️ 소스코드 HttpHeader.java HttpHeader이다. 가변적으로 추가하기 편하게 만들었다. build() 함수를 통해서 호환이 가능한 Apache의 HttpHeaders로 변환이 가능하다. @NoArgsConstructor @AllArgsConstructor public class HttpHeader { private MediaType mediaType; private Map keyV..
-
[Spring] Mybatis, JPA, ORM에 대해서 간단하게 알아보자백엔드/Spring 2022. 5. 21. 00:07
[Spring] Mybatis, JPA, ORM에 대해서 간단하게 알아보자 API 개발을 하기 위해서는, 데이터베이스를 기동하여 질의문을 동작시켜야 합니다. 이를 위해서는 반드시 질의문을 돌릴 수 있는 “Mybatis”와 “JPA”를 학습해야 합니다. Mybatis와 JPA, ORM을 모르는 분들을 위해서 정리하였습니다. 1. Mybatis Mybatis 템플릿 - https://github.com/rojae/mybatis-demo Mybatis JSP 게시판 예제 : https://github.com/rojae/SpringBoot-BBS-demo XML 파일에서 Query를 직접 작성하여, 추출되는 결과를 XML 문법을 통해서 자바 Class 파일로 변환합니다. 마이바티스는 아래와 같은 모습을 가집니다..
-
[Spring] AOP 기능을 사용해서, 어노테이션으로 로그를 남기자 (annotation logging)백엔드/Spring 2022. 4. 30. 23:55
공통된 기능을 개발할 수 있도록, 설계된 Spring의 AOP를 활용하면 메소드에 공통 기능을 삽입할 수 있다. 이를 적절하게 사용해서, 메소드에 logging 기능을 넣어보자 Annotation 생성 AOP 설정파일을 추가하자 로깅 기능을 직접 사용하자 후기 소스코드 이미지를 클릭하면, 소스코드 연결이 가능합니다. 1. Annotation 생성 (로그 유발, 로그 제외) 2. AOP 설정파일을 추가하자 @Around를 사용하여, kr.imcf.mybatis.** 패키지에 존재하는 소스에 AOP 설정이 가능하다. // kr.imcf.mybatis 패키지 내부 && @LogExclusion이 없고 && @LogInclusion이 있는 경우 @Around("within(kr.imcf.mybatis..*) &..
-
[Spring Security} Spring 3.x에서 mockMvc 테스트 하는 법백엔드/Spring 2021. 1. 15. 09:04
🚀 들어가며... MockMVC를 사용하면 테스트 케이스를 보다 다양하게 구성할 수 있는데, 사내의 자바와 서블릿은 spring 3.x에 가능했다. 하지만 Spring security Test는 spring 4.x에서 동작하기 때문에 생기는 문제점... 📑 내용 stack over flow의 일부 내용 Update: 4.0.0.RC2 works for spring-security 3.x. For spring-security 4 spring-security-test become part of spring-security (http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/#test, version is the same). ..
-
[Spring JPA] 검색 쿼리 개발백엔드/Spring 2021. 1. 2. 03:43
🚀 들어가며... 검색의 경우 총 네가지를 구상했습니다. 단순 키워드 검색 (좋아요 내림차순) 단순 키워드 검색 (좋아요 오름차순) 페이지 반환, 키워드 검색 (좋아요 내림차순) 페이지 반환, 키워드 검색 (좋아요 오름차순) 좋아요 컬럼의 변수 이름은 likeCount로 하였습니다 like는 데이터베이스 예약어이기 때문에 안됩니다. 테스트 케이스는 assertThat()을 사용하여 진행하였습니다. 💌 소스코드 도메인 클래스 (Comment) package org.rojae.examples; import org.springframework.lang.NonNull; import javax.persistence.*; @Entity public class Comment { @Id @GeneratedValue p..