iteye_20084 2008-05-27 15:34
浏览 158
已采纳

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?