谁有用AOP写的权限 给我个看看
1条回答 默认 最新
cyh_it 2008-05-30 11:34关注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");
}
}本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报