AspectJ如何实现AOP
使用AspectJ,我们不用对原有的代码做任何修改,就可以为代码提供不同的Aspect(方面)--比如,认证,事务等。我们只需要提供两个不同的Aspect--认证Aspect和事务Aspect。我们来看看,AspectJ编译器为我们做了什么事情。1. 首先,AspectJ从文件列表里取出所有的文件名,然后读取这些文件,进行分析。2. AspectJ发现一些文件含有aspect的定义,在这个例子里,就是AuthAspect和TransactionAspect的定义;这些aspect就是代码生成规则。3. AspectJ根据这些aspect代码生成规则,修改添加你的源代码。在这个例子里,就是修改添加Bank文件。4. AspectJ读取AuthAspect的定义,发现了一个pointcut--bankMethods();这个pointcut的定义是execution(* Bank.deposit(…)) || execution(* Bank. withdraw (…)),表示所有对Bank类的deposit和withdraw方法的执行点。5. AspectJ继续读取AuthAspect的定义,发现了一个around(),这在AspectJ中叫做Advice, Advice允许你在某个类的方法的调用之前或调用之后,加入另外的代码。所示代码中的around()的" // 验证account是否为合法用户"部分,就是要加入的代码。这段代码要加在哪里呢?around()后面跟了一个pointcut--bankMethods()。根据这个pointcut,AspectJ会把这段代码加入到Bank.deposit和Bank.withdraw两个方法的执行之前。6. AspectJ读取TransactionAspect的定义,象第(4)步一样,发现了发现了一个pointcut--bankMethods()。AspectJ继续读取AuthAspect的定义,发现了一个around()。这次AspectJ把"Begin Transaction"和"End Transaction"两段代码加在Bank.deposit和Bank. withdraw两个方法的执行前后。
Tags: aspectj  aop  Spring  IOC  
系统日志管理解决方案
系统日志管理解决方案1 系统日志管理的作用当系统操作员对系统中的数据进行新增、修改、作废等操作时,能够记录下相应的操作员、操作时间、操作员所用机器的IP、操作类型、操作对象等信息。如:在商位信息管理中,当操作员对某个商位进行修改后,要记录下上述提到的要素。2 系统日志管理的设计使用Spring2.0对AspectJ的支持实现。具体在一个java Bean 中用AspectJ标签实现切面,切面负责完成对系统日志管理要处理的信息进行组装、存储到表中,以便系统管理员进行查询;在切面中所需的操作员信息、操作员所用机器的IP通过在系统登录时存储到会话中,操作类型和操作对象信息应该通过AspectJ的连接点 进行获取。创建好java Bean 后,在spring 配置文件中加入,在系统加载时,系统会在已注入的Bean 中寻找包含 AspectJ标签的Bean。当触发Bean 中定义的切点后,将会执行切点对应的通知。相应的库表设计如下:
Tags: 日志  管理  解决方案  Spring  java  IOC  aop  系统  
spring aop 权限管理系统
此权限管理系统把待访问的业务层方法做为权限管理中的资源,通过spring aop 对接口方法进行拦截,来实现权限的管理,可以实现细粒度的权限控制。   在上文体验了spring aop 一些特性,aop 接口:MethodBeforeAdvice, AfterReturningAdvice, ThrowsAdvice 实现这三个接口分别对方法执行前,后,执行中抛异常等情况进行的,我们要是想做overload 这样的操作时,要用MethodInterceptor 接口,此接口好在有返回值,   public Object invoke(   MethodInvocation invocation)   throws Throwable   {   //.   }   上文做法有些牵强业务逻辑还有throws PermissionDeniedException 感觉不爽,现在用MethodInterceptor 接口,来写这个demo,把权限与业务分开。   advice 如下:
Tags: Spring  aop  权限  管理  IOC  系统  
Spring中IoC的入门实例详解

Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用。这一章先从Spring的IoC开始。所谓IoC就是一个用XML来定义生成对象的模式,我们看看如果来使用的。  数据模型  1、如下图所示有三个类,Human(人类)是接口,Chinese(中国人)是一个子类,American(美国人)是另外一个子类。    源代码如下:package cn.com.chengang.spri


Tags: java  Spring  IOC  框架  模式  
分页:[«] 1[»]
Feed订阅集
勤劳致富^.^
Powered By Z-Blog   STYLE by busfly . FatMouse
Copyright © 2007 巴士飞扬技术博客. . 沪ICP备07027972号. 会员群1(VS为主):3769186.