谁有用AOP写的权限 给我个看看

谁有用AOP写的权限 给我个看看

BeforeAdvice

IHello.java
package onlyfun.caterpillar;

public interface IHello {
public void hello(String name);
}

HelloSpeaker.java
package onlyfun.caterpillar;

public class HelloSpeaker implements IHello {
public void hello(String name) {
System.out.println("Hello, " + name);
}
}

LogBeforeAdvice.java
package onlyfun.caterpillar;

public class LogBeforeAdvice
implements MethodBeforeAdvice {
private Logger logger = Logger.getLogger(this.getClass().getName());

public void before(Method method, Object[] args, Object target) throws Throwable { 
  //权限控制 

}
}


class="onlyfun.caterpillar.LogBeforeAdvice"/>

<bean id="helloSpeaker" 
      class="onlyfun.caterpillar.HelloSpeaker"/> 

<bean id="helloProxy" 
      class="org.springframework.aop.framework.ProxyFactoryBean"> 
    <property name="proxyInterfaces"> 
        <value>onlyfun.caterpillar.IHello</value> 
    </property> 
    <property name="target"> 
        <ref bean="helloSpeaker"/> 
    </property> 
    <property name="interceptorNames"> 
        <list> 
            <value>logBeforeAdvice</value> 
        </list> 
    </property> 
</bean> 

package onlyfun.caterpillar;

import org.springframework.context.ApplicationContext;
import org.springframework.context.
support.FileSystemXmlApplicationContext;

public class SpringAOPDemo {
public static void main(String[] args) {
ApplicationContext context =
new FileSystemXmlApplicationContext(
"beans-config.xml");
IHello helloProxy =
(IHello) context.getBean("helloProxy");
helloProxy.hello("Justin");
}
}

测试
package onlyfun.caterpillar;

import org.springframework.context.ApplicationContext;
import org.springframework.context.
support.FileSystemXmlApplicationContext;

public class SpringAOPDemo {
public static void main(String[] args) {
ApplicationContext context =
new FileSystemXmlApplicationContext(
"beans-config.xml");
IHello helloProxy =
(IHello) context.getBean("helloProxy");
helloProxy.hello("Justin");
}
}