Spring Boot; AOP

부트에서의 AOP 스프링 부트에서의 AOP도 역시 마찬가지로 적용할 수 있다. slf4j 로깅을 aspect로 등록하는 코드. 예제로써 보자.. 모르는 내가 봐도 좋은 코드는 아닌 것같음. 책에 또 코드 빠져있음…. 따로 bean등록을 하지 않았기 때문에 component scan으로 잡는다. AOP를 사용하기 위해 Aspect 어노테이션을 붙인다. Slf4j 어노테이션으로 slf4j 객체를 주입받는다. (log) Around로 aspect가 작동할 범위를 execution 필터 지정한다.... » read more

스프링5; AOP의 실제 #2

이전 글 execution 패턴 표현식 execution(public void set*(..)) : 반환형이 void이고, 메소드 이름의 set으로 시작하고 인자가 0개 이상인 메소드를 호출한다. executation(* dto.*.*()) : dto 패키지 탕비에 속한 인자가 없는 모든 메소드를 호출한다. executation(* dto..*.*(..)) : dto 패키지 및 하위 패키지에 있고 인자가 0개 이상인 메소드를 호출한다. execution(Long dto.StudentRepository.getAge(..)) : 반환형이 Long인 StudentRepository 타입의 getAge() 메소드를... » read more

스프링5; AOP의 실제 #1

스프링에서 프록시 패턴을 어떻게 적용시키는지 실제로 스프링을 통해 적용해본다. proxy 패턴은 decorator 객체 로도 활용할 수 있다. 기능 추가와 확장에 초점이 맞춰져있다. 짤막한 프록시의 핵심 프록시의 특징은 핵심 기능은 구현하지 않는다는 점이다. 프록시는 핵심 기능을 구현하지 않는 대신 여러 객체에 공통으로 적용할 수 있는 기능을 구현한다. AOP의 기본 핵심은 공통 기능을 삽입하는 것 이다. AOP의... » read more

스프링의 IoC/DI, AOP의 개념

본격적으로 스프링에서 사용되는 코드 패턴과 개념에 대해서 파고 들어간다. IoC/DI IoC; Inversion of Control 제어의 역전 객체를 직접 생성하지 않고 외부에서 구현체를 넣어줌으로써 제어권을 거꾸로 가지고 가는 현상 IoC는 즉, 설계의 패턴이다. 실체에 의존할 것인가 추상화에 의존할 것인가 DI; Dependency Injection 의존성 주입 외부에서 의존성을 받는 행동. 즉, 외부에서 new로 생성된 객체를 받는다. DI는 즉,... » read more