본문 바로가기

Spring72

[spring 1편] mapstruct 활용 source 는 Github 에 있습니다. 목차는 spring series 목차 에 있습니다. [spring 1편] mapstruct 활용 mapstruct 무엇인가? mapstruct 은 객체 맵핑을 도와주는 라이브러리입니다. 예를 들면, dto dto 간 코드 맵핑을 도와주는 것입니다. source 단건을 mapping 하는 예제와 list 를 맵핑하는 예제로 테스트 작성했습니다. 결론 mapstruct 사용하면 dto 간 데이터 전송을 쉽게 할 수 있으며, 코드도 간결해집니다. Reference https://www.baeldung.com/mapstruct 2022. 6. 13.
jpa @ElementCollection 정리 source 는 Github 에 있습니다. @ElementCollection 정리 JPA 는 ORM 이고 ORM 은 Object Releation Mapping 의 약자입니다. RDB 의 경우 데이터를 저장할 때, collection 단위로 저장할 수 있는 방법이 없습니다. 예를 들면, Member 라는 테이블에 phone_number 가 여러개 들어갈 수 없습니다. JPA 에서는 @ElementCollection 을 이용해서 Collection 대상인 것을 알려줄 수 있습니다. source 및 로그 Member Entity 아래와 같이 Member Entity 에 roles collection 을 만들어주고 ElementCollection 을 선언해주면 Roles 테이블이 만들어집니다. @Entity .. 2022. 1. 17.
spring security 란? spring security 란? spring 기반의 보안을 (인증, 권한, 인가 등) 담당하는 모듈입니다. 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리하고 있습니다. Filter 는 request 요청이 들어왔을 때, DispatcherServlet 에 접근하기 전에 적용됩니다. spring security 는 크게 인증과 인가를 담당하고 있습니다. 인증 : ID, PW 입력하여 본인인증 확인하는 절차 인가 : 사용자가 자원에 접근가능한지를 확인하는 절차 spring security 상세 Authentication 접근 주체의 정보와 권한을 담고 있습니다. 인증 후, SecurityContextHolder 에 저장됩니다. SecurityContext Authentication 를 보관하고 .. 2022. 1. 12.
생성자 annotation 정리 (NoArgsConstructor, AllArgsConstructor, RequiredArgsConstructor) 생성자 annotation 정리 @NoArgsConstructor 파라미터가 없는 기본생성자를 만들어줍니다. // before @NoArgsConstructor public class NoArgsConstructorTestClass { } // after public class NoArgsConstructorTestClass { public NoArgsConstructorTestClass() {} } @AllArgsConstructor 클래스에 선언된 모든 필드 값에 대한 생성자를 만들어줍니다. // before @AllArgsConstructor public class AllArgsConstructorTestClass { private String name; private int age; } // af.. 2022. 1. 8.