我需要在幾個類中必須始終遵循特定的前和後模式的方法。春天依賴注入或方面編程
公共無效方法(X X,Y y)的{
// ************重複部分開始************** ****/
aFrameworkClass aFrameworkClass =新aFrameworkClass(this.memberVariable 「SomeString」);
嘗試{
aFrameworkClass.aFrameworkMethod(x,y);
aFrameworkClass.anotherFrameworkMethod(x,y);
aFrameworkClass.yetAnotherFrameworkMethod(x);
aFrameworkClass.doPreProcessing();
Throwable t = null ;
// ************重複部分末端******************/
try {
// code will vary according to the business logic
}
catch (Throwable t) {
// code will vary according to the business logic
}
// ************重複部分開始******************/
aFrameworkClass.doPostProcessing();
} finally { aFrameworkClass.doCleanup();
}
// ************重複部分末端******************/
}
是否可以使用Spring框架來實現,在這種方法的重複部分的邏輯,而不必對這些線在我的各類一遍又一遍的代碼?如果是這樣如何?
您指的是'我個人更喜歡用XML來做它,因爲可以在不重新編譯應用程序的情況下更改方面的行爲',您究竟在說什麼? – krosenvold 2009-01-13 06:44:20
AspectJ API中有註釋允許您在Java代碼中定義AOP行爲: http://static.springframework.org/spring/docs/2.5.x/reference/aop.html#aop-ataspectj 例如,您可以使用@Order指定建議訂單。我寧願使用XML來代替;易於更改,無需編譯 – 2009-01-15 21:13:51
XMl配置文件通常打包在EAR或WAR中。您將不得不重建項目進行重新打包,這反過來又引入了需求迴歸測試 – zkarthik 2009-01-16 02:34:20