스프링 AOP구현 방식은 2가지가 있습니다. 1. 대상객체가 인터페이스 구현방식을 경우 -> 일반적인 proxy pattern 을 이용하여 AOP구현 2. 대상객체가 인터페이스를 구현 안햇을 경우 -> CGLIB 라이브러리를 이용하여 구현 CGLIB이란,동적으로 대상객체를 상속하는 클래스를 만들어 프록시를 구현한후필터클래스를 이용하여 공통의 관심사(Aspect)적용 참고사이트 - http://javacan.tistory.com/entry/114 --- 내용 추가 ----* 강제로 CGLIB 통한 프록시객체 생성방법 1. aop:config 태그에 다음 속성 추가 : proxy-target-class="true" 2. 어노테이션의 경우
프록시 패턴 (Proxy Pattern) 1. 개요 Proxy의 사전적 의미는 대리, 대리권 이라는 뜻을 가지고 있다. 실제 사용하려는 객체를 대신해서 역할을 해주는 패턴이라고 이해하면 될 것이다. 주로 원래 객체의 접근제어를 목적으로 이용된다. 어떤 이유 때문에 proxy 패턴이라 불려지는지 알아 보도록 하자. 우리가 알아볼 패턴유형으로는 Virtual Proxy, Protection Proxy, Remote Proxy 등이 있다. 2. 클래스 다이어그램 Subject interface proxy 클래스와 RealSubject 클래스가 구현을 하는 인터페이스로 Client 에서는 이 인터페이스만 알고 있으므로 내부 동작은 어떻게 이뤄지는 지 모르게 된다. Porxy class RealSubject 객체..
싱글턴 패턴(Singleton Pattern) 1. 개요지정한 클래스의 인스턴스(객체)가 오로지 하나만 존재해야만 하는경우, 인스턴스가 하나인 경우만을 프로그램으로 나타낼때 이용하는 패턴이다.ex) 티켓팅 클래스가 있을때, 이 클래스가 티켓번호를 하나씩 증가시켜 생성한다. 이때 싱글턴 패턴을 이용하면 단하나의 객체만으로 티켓번호 값이 중복되지 않게 증가되는것이 가능하다. 2. 클래스 다이어그램 3. Java 로 구현한 싱글턴패턴- 생성자는 다른클래스가 접근하지 못하도록 private로 설정- getInstance() 메소드는 synchronized 를 설정 ( 멀티스레드 환경 대비 )- 객체맴버 변수와 메소드는 static // 1. synchronized 를 이용한 singleton public cla..