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

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

报告相同问题?

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据