먼저 아래의 간단한 소스를 읽어 보자.
package proxytest;
public interface ITempLogic {
public String greet();
}
----------
package proxytest;
public class TempLogicImpl implements ITempLogic {
public String greet() {
return "Hi";
}
}
----------
package proxytest;
public class TempLogicProxy implements ITempLogic {
private ITempLogic itl=null;
public TempLogicProxy(ITempLogic l) {
itl=l;
}
public String greet() {
System.out.println("before");
String r=itl.greet();
System.out.println("after");
return r;
}
public static void main(String args[]) {
ITempLogic l=new TempLogicProxy(new TempLogicImpl());
System.out.println(l.greet());
}
}
----------
간단하게 소스에 대해서 설명을 하자면,
ITempLogic이라는 인터페이스를 하나 만들고,
해당 인터페이스를 구현한 TempLogicImpl 이라는 클래스를 하나 만들었다.
구현된 TempLogicImpl 이라는 클래스를 감싸주는 TempLogicProxy라는 클래스를 만들어 주어서 그 클래스에서 TempLogicImpl을 대행하여 수행해준다.
package proxytest;
public interface ITempLogic {
public String greet();
}
----------
package proxytest;
public class TempLogicImpl implements ITempLogic {
public String greet() {
return "Hi";
}
}
----------
package proxytest;
public class TempLogicProxy implements ITempLogic {
private ITempLogic itl=null;
public TempLogicProxy(ITempLogic l) {
itl=l;
}
public String greet() {
System.out.println("before");
String r=itl.greet();
System.out.println("after");
return r;
}
public static void main(String args[]) {
ITempLogic l=new TempLogicProxy(new TempLogicImpl());
System.out.println(l.greet());
}
}
----------
간단하게 소스에 대해서 설명을 하자면,
ITempLogic이라는 인터페이스를 하나 만들고,
해당 인터페이스를 구현한 TempLogicImpl 이라는 클래스를 하나 만들었다.
구현된 TempLogicImpl 이라는 클래스를 감싸주는 TempLogicProxy라는 클래스를 만들어 주어서 그 클래스에서 TempLogicImpl을 대행하여 수행해준다.
'Framework > Spring Framework' 카테고리의 다른 글
[Spring] Spring MVC에 대한 기초중의 기초 (0) | 2008.04.02 |
---|---|
[Spring] AspectJ 에서의 Point cut (포인트 컷) 언어 정리 (0) | 2008.04.01 |
[Spring] AOP(Aspect Oriented Programming) 란? (0) | 2008.04.01 |
[Spring] BeanFactory 와 ApplicationContext (0) | 2008.03.31 |
[Spring] Spring Framework의 scope (0) | 2008.03.31 |