我们的系统采用SSH架构,现根据需求需要这样处理,系统初始化后获取系统所有domain对象,然后根据业务要求记录操作。我想问问,在系统中如何获取所有domain对象?
3条回答 默认 最新
- iteye_235 2011-03-15 17:10关注
你说SSH框架可是Spring Struts Hibernate?如果是的话,办法还是很多的。
你的需求:“根据业务要求记录domain的操作”,如果我分析不差,这个使用Aop织入可以满足的你的要求,正好有一段代码供你参考:
[b]DomainA.java[/b]
[code="java"]
package aop;public class DomainA {
public void action() {
System.out.println("DomainA action.");
}
}[/code]
[b]ActionAop.java[/b]
[code="java"]package aop;import org.aspectj.lang.annotation.After;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;@Aspect
public class ActionAop {@Pointcut("execution(* org.koala.orm.aop.*.*(..))") public void action() { } @After("action()") public void actionAopAfter() { System.out.println("#############After##########"); } @Before("action()") public void actionAopBefore() { System.out.println("#############Before##########"); }
}
[/code]
首先,你要确认aspectjweaver.jar和aspectjrt.jar在的classpath中,可以参考[url]http://www.eclipse.org/aspectj/[/url]可以使用aspectj提供的编译工具,也可以将aspectj集成在ant或者maven中使用,网上的范例有很多。测试代码:
[b]DomainAopTest.java[/b]
[code="java"]package aop;import org.koala.orm.aop.DomainA;
import org.testng.annotations.Test;public class DomainAopTest {
@Test
public void testSay() {
DomainA a = new DomainA();
a.action();
}
}
[/code]
最终的结果演示,就可以处理你Domain的业务动作了:
[code="txt"]#############Before##########
DomainA action.
#############After##########[/code]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
- ¥20 神经网络Sequential name=sequential, built=False
- ¥16 Qphython 用xlrd读取excel报错
- ¥15 单片机学习顺序问题!!
- ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
- ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
- ¥15 相敏解调 matlab
- ¥15 求lingo代码和思路
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应