본문 바로가기

IT/Spring9

ModelMapper ModelMapper 서로 다른 객체로의 필드값을 자동으로 맵핑해주는 라이브러리 로직 실행 후 Entity를 가져온 후 Entity의 모든 데이터를 리턴해주기 보다 필요한 데이터들만 리턴해주기 위해 View Dto를 만들어 리턴을 해준다. 이때, 기존 Entity에서 새로 만든 Dto 객체에게 필드값을 전달하기 위해서 getter/setter를 이용하거나 builder 패턴을 이용하여 Dto 객체를 만들어서 전달할 수 있는데, 필드가 많아지는 경우에는 코드량도 많아지고 반복적인 작업량도 늘어나게 된다. 이때 ModelMapper를 이용하면 간단하게 Dto 객체를 만들어 전달 할 수 있다. 사용 ModelMapper를 사용하기 위해 의존성을 주입받는다. org.modelmapper modelmapper 2.. 2021. 6. 21.
Spring Security (Springboot + thymeleaf) Spring Security SpringSecurity는 스프링 기반의 어플리케이션에서의 보안(인증, 권한)을 담당하는 프레임워크이다. 인증 : 허가된 사용자인지 체크 권한 : 허가된 사용자가 사용할 수 있는 권한을 가졌는지 체크 Security를 사용하지 않는 경우에는 자체적으로 세션을 만들고 관리하고 체크해야 하지만, Security를 사용하면 Security에서 구현해둔 보안 관리를 사용 할 수 있다. Security는 스프링 mvc와 별개로 필터(filter)를 사용하여 보안을 처리 하고있다. 클라이언트 요청을 받아 DispatcherServlet이 처리하기 전에 Filter에서 먼저 요청을 intercept해서 Filter를 거친후 로직을 실행하는데, 이때 Securiry의 Filter에서 보안.. 2020. 5. 22.
Spring AOP - 어노테이션 만들기 Spring AOP 커스텀 어노테이션 @ 어노테이션 만들기 @interface 키워드로 생성 @Documented @Retention(RetentionPolicy.CLASS) @Target(ElementType.METHOD) public @interface PerfLogging { } @Documented : 자바독 생성시 document가 되도록 @Retention : 이 어노테이션의 정보를 어디까지 유지할 것인가 RetentionPolicy.SOURCE : 어노테이션 정보는 컴파일 이후 없어짐 RetentionPolicy.CLASS : 컴파일러가 클래스를 참조할 때까지 유효 RetentionPolicy.RUNTIME : 컴파일 이후에도 JVM에 의해서 참조 가능 @Target : 해당 어노테이션을 어.. 2019. 11. 28.
설정파일 YAML 설정파일 (YAML) YAML 계층구조 표현 계층 성격을 가지는 변수를 설정 할 때 properties보다 가독성이 높다 YAML ghsong: name: first:gunho last:song phone: - 01012341234 - 0311231234Properties ghsong.name.first:gunho ghsong.name.last:song ghsong.phone[0]:0101234123 ghsong.phone[1]:0311231234 Key, Value Map Mapping properties보다 Map 구조를 더 명시적이며 간단하게 Binding 가능! seat: tpye: 001:A 002:B 004:C문서 구조화 문서를 나누는 기능(---) spring: profiles: local .. 2019. 4. 30.