'Spring/기타' 카테고리의 글 목록
본문 바로가기
728x90

Spring/기타4

[JPA] @ElementCollection RDB에는 컬렉션과 같은 형태의 데이터를 컬럼에 저장할 수 없다. 별도의 테이블을 생성해 컬렉션을 관리하게된다. 컬렉션이란 그저 용도가 같거나 유사한 문서들을 그룹으로 묶은 것 JPA 에서 컬렉션 객체임을 지정하는 방법은 @ElementCollection 어노테이션을 사용하는 방법이다. // Member 클래스 @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @ElementCollection(fetch = FetchType.LAZY) @Builder.Default Private Set roleSet = new HashSet(); Pu.. 2022. 11. 27.
스웨거 헤더 넣기, swagger activate of authorize button api 서버 구현 중에 JWT 토큰 인증 방식으로 구현하면 헤더에 JWT 토큰을 받아서 유효한지 검사하게 된다. swagger 를 활용해 api 문서 작성과 테스트를 하기 위해 swagger 에 헤드에 값을 넣는 방법을 알아보자. build.gradle 설정 implementation group: 'io.springfox', name: 'springfox-boot-starter', version: '3.0.0' implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '3.0.0' SwaggerConfig 설정 @Configuration @RequiredArgsConstructor public class SwaggerConf.. 2022. 10. 7.
mapstruct/Lombok차이 및 충돌 오류, cannot find symbol 차이 ModelMapper 은 modelMapper.map 매핑이 일어날 때 리플렉션이 발생하고 MaStruct 는 컴파일 시점에서 구현체를 만들어 리플렉션이 발생하지 않는다 *리플렉션은 구체적인 클래스 타입을 알지 못해도, 컴파일한 클래스 정보를 활용해 그 클래스의 메소드, 타입, 변수들에 접근할 수 있도록 해 동적으로 프로그래밍이 가능하도록 지원하는 API *동적으로 프로그래밍 -> 런타임 시점에 타입을 결정 즉, ModelMapper은 런타임에 매핑이 일어나고 MaStruct은 컴파일 시점에 구현체를 만든다. 문제 mapstruct가 정상적으로 작동하지 않았으며, "cannot find symbol"오류 발생 충돌 원인 mapstruct를 호출하는 방식이 조금 달라서 Lombok과 충돌이 발생 해결.. 2021. 12. 3.
JSON vs XML JSON(JavaScript Object Notation) 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 포멧 어떠한 통신 방법도, 프로그래밍 문법도 아닌 단순히 데이터를 표시하는 표현 방법일 뿐 JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서 최근에는 XML을 대체해 데이터 전송 등에 많이 사용 특징 서버와 클라이언트 간의 교루에서 일반적으로 많이 사용 js의 객체 표기법과 아주 유사 js를 이용하여 JSON 형식의 문서를 쉽게 js 객체로 변환할 수 있는 이점이 있다. JavaScript에서 객체를 만들 때 사용하는 표현식을 의미(json은 js기반) 특정 언어에 종속되지 않으며, 대부분 프로그래밍 언어에서 JSON 포멧의 데이터를 핸들링 할 수 있는 라이브러리 제공 .. 2021. 7. 16.
728x90