53 byBus.seat();
54 byBus.rob();
55 //加入一种旅游方式
56 String name2 ="proxy.ByTrainImpl";
57 IByTrain byTrain = (IByTrain)Util.getObject(name2);
58 byTrain.seat();
59 byTrain.rob();
60
61 }catch(Exception e){
62 e.printStackTrace();
63 }
64 }
65}
ok我们也实现了同样的效果,看看代码量比前几种的更多,但是试想一下如果我们的旅游方式变的越来越多,
ByAir By...等等是否这中方式更简单了呢。
理解了Java的动态代理,再回到Spring,
Spring的IOC就类似Util类的作用,根据配制文件(本例中的字符串),在运行时自动生成代理类。
Spring的Aop就类似TxHandler类的作用,须要的函数例如seat()之前,之后都加入一写东西,
Spring加入的是
1 try{
2 //之前加入(类似buy ticket)
3 Transation.begin();
4
5 //调用你的函数.
6
7

