본문 바로가기

프로그래밍3

Spring Security Role - 2 지난 번에 작성했던 Spring Security를 이용하여, 권한이 없는 사용자가 특정API를 호출할 경우, FORBIDDEN 에러를 발생한 것까지 진행했었다. Spring Security Role - 1 Spring Security? Spring 기반의 어플리케이션의 보안을 담당하는 스프링의 하위 프레임워크 Spring Security는 인증과 권한에 대한 부분을 Filter의 흐름에 따라 처리하고 있다. Filter는 Dispatcher Servlet으로.. giftcon.tistory.com 설정전에 앞서, Spring Security에서 ExceptionHandling에 대한 종류는 아래와 같다. authenticationEntryPoint accessDeniedHandler accessDenie.. 2021. 9. 2.
JPA Mapping JPA Entity Mapping @Entity "엔티티"는 객체에서 부르는 이름으로, 보통 class와 같은 이름을 사용하기 때문에 값을 변경하지 않는다. 엔티티의 이름은 JQL에서 사용한다. @Entity(name="변경할 엔티티명")을 통해서 엔티티명을 지정할 수 있다. @Table "릴레이션"에서 부르는 이름으로, @Entity의 이름이 기본값이며, SQL에서 사용한다. @Table(name="DB Table명")을 통해서 Table과 맵핑할 수 있다. @Id 엔티티의 주키(PK) 를 맵핑할 사용한다. Java의 모든 primitive 타입과 그 래퍼런스 타입을 사용할 수 있다. 복합키를 만드는 맵핑하는 방법도 있다. (@IdClass annotation 사용) @GeneratedValue 주키의.. 2021. 8. 26.
AOP(Aspect Oriented Programming) 관점지향적프로그래밍 공통적으로 사용하는 코드들을 하나로 모아 모듈화 하는 기법 구현 방법 - 컴파일 방식 ( Aspectj ) 컴파일 시, AOP를 끼워주는 방식 - 바이트코드 조작 방식( AspectJ ) class파일이 메모리에 올라가는 시점에 classloader가 조작하여 AOP를 추가하는 방법 - 프록시 패턴 방식 ( Spring AOP ) 디자인 패턴을 이용하여 기존의 코드를 건드리지 않고, AOP효과를 내는 방법 프록시 패턴 방식 AOP 예제 Payment Interface를 오버라이드 하고 있는데, cashPerf 클래스를 생성하고, Store 클래스를 생성할 시, 생성자의 인자로 cashPerf를 넘겨준다. Store 클래스의 busySomething 호출 시, payment의 pay를 .. 2021. 8. 19.