谁有用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");
}
}