AOP:代理思想 (没有考虑到Spring)
文件目录:

package com.wangcf.entity;
public class User {
    private int id;
    private String name;
    private String password;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}
想要执行的方法:
package com.wangcf.manager;
import com.wangcf.entity.User;
public class UserManager {
    private LogManager logManger;
    private AuthorityManager autManager;
    public UserManager(){
        this.logManger=new LogManager();
        this.autManager=new AuthorityManager();
    }
    public void add(User user){
        autManager.isAllown();
        logManger.add();
        System.out.println("UserManager add...");
    }
    public void del(User user){
        autManager.isAllown();
        logManger.add();
        System.out.println("UserManager del...");
    }
    public void update(User user){
        autManager.isAllown();
        logManger.add();
        System.out.println("UserManager update...");
    }
}
切面拦截,
package com.wangcf.manager;
public class AuthorityManager {
    public boolean isAllown(){
        boolean flag=true;
        System.out.println("权限检查..");
        return true;
    }
}
package com.wangcf.manager;
public class LogManager {
    public void add(){
        System.out.println("添加日志...");
    }
}
测试类:
package com.wangcf.test;
import com.wangcf.manager.UserManager;
public class testAction {
    public static void main(String[] args) {
        UserManager userManager=new UserManager();
        userManager.add(null);
    }
}
输出:

参考网页:http://wenku.baidu.com/view/29320a66a9956bec0975f46527d3240c8447a1be.html
AOP:代理思想 (没有考虑到Spring)的更多相关文章
- 8 -- 深入使用Spring -- 4...5 AOP代理:基于注解的“零配置”方式
		
8.4.5 基于注解的“零配置”方式 AspectJ允许使用注解定义切面.切入点和增强处理,而Spring框架则可识别并根据这些注解来生成AOP代理.Spring只是使用了和AspectJ 5 一样的 ...
 - Spring框架系列(10) - Spring AOP实现原理详解之AOP代理的创建
		
上文我们介绍了Spring AOP原理解析的切面实现过程(将切面类的所有切面方法根据使用的注解生成对应Advice,并将Advice连同切入点匹配器和切面类等信息一并封装到Advisor).本文在此基 ...
 - 二)Spring  AOP编程思想与动态代理
		
一.aop编程思想 1.面向切面,就是能够不动源码的情况下,从横切面切入新的代码功能. 2.实现原理是动态代理 动态代理的步骤 a.写生产厂家,实现接口,代理只能代理接口 b.动态代理类实现Invoc ...
 - spring源码 — 三、AOP代理生成
		
AOP代理生成 AOP就是面向切面编程,主要作用就是抽取公共代码,无侵入的增强现有类的功能.从一个简单的spring AOP配置开始: <?xml version="1.0" ...
 - Spring AOP代理时 ClassCastException: $Proxy0 cannot be cast to (类型转换错误)
		
Spring AOP代理时 ClassCastException: $Proxy0 cannot be cast to (类型转换错误) 问题: 今天在用AfterReturningAdvice时,a ...
 - jdk动态代理与cglib代理、spring aop代理实现原理
		
原创声明:本博客来源与本人另一博客[http://blog.csdn.net/liaohaojian/article/details/63683317]原创作品,绝非他处摘取 代理(proxy)的定义 ...
 - jdk动态代理与cglib代理、spring aop代理实现原理解析
		
原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...
 - 何为代理?jdk动态代理与cglib代理、spring Aop代理原理浅析
		
原创声明:本博客来源为本人原创作品,绝非他处摘取,转摘请联系博主 代理(proxy)的定义:为某对象提供代理服务,拥有操作代理对象的功能,在某些情况下,当客户不想或者不能直接引用另一个对象,而代理对象 ...
 - Spring框架——AOP代理
		
我们知道AOP代理指的就是设计模式中的代理模式.一种是静态代理,高效,但是代码量偏大:另一种就是动态代理,动态代理又分为SDK下的动态代理,还有CGLIB的动态代理.Spring AOP说是实现了AO ...
 - 记一次Spring的aop代理Mybatis的DAO所遇到的问题
		
由来 项目中需要实现某个订单的状态改变后然后推送给第三方的功能,由于更改状态的项目和推送的项目不是同一个项目,所以为了不改变原项目的代码,我们考虑用spring的aop来实现. 项目用的是spring ...
 
随机推荐
- js数组总结
			
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
 - 转:通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
			
最近在使用jmeter写脚本来进行测试,最终写了很多份脚本,然后,就在想,这么多脚本,我不可能一个一个的手动去点啊,有没有什么办法来批量运行Jmeter脚本呢? 这个时候,自然而然地想到了万能的ant ...
 - 【转】使用gulp 进行ES6开发
			
原谅地址:https://segmentfault.com/a/1190000004394726 一说起ES6,总会顺带看到webpack.babel.browserify还有一些认都不认识的blab ...
 - 英文SEO外部链接资源收集之常用的footprints
			
inurl:/privacy-policy "Using Article Directory plugin"inurl:/terms "Using Article D ...
 - JSP内置对象---总结
			
request: javax.servlet.http.HttpServletRequest的接口实例 1. setCharacterEncoding("GBK"):防乱码2. ...
 - 网页中如何用 CSS 设置打印分页符
			
Word 中按 Ctrl + Enter 创建一个分页符,方便打印,其实网页中也可以,用 CSS 的 page-break-after:always;. <p>第 1 页</p> ...
 - HTML 引用Css样式的四种方式
			
不才,只知道HTML引用CSS样式有四种方式,内部引用和外部引用各两种,因为老是忘记细节,记下了随时翻阅亦可方便如我般的初学者 内部引用方式1: 直接在标签内用 style 引用,如: <div ...
 - IMCP网际控制协议
			
IP协议是TCP/IP协议使用的在网络层传输机制,它是一种不可靠的无连接的数据报协议,但是IP协议假定了底层是不可靠的,因此,要尽最大的努力传输到目的地,但正因为如此,IP协议则没有了保证,也就是说, ...
 - 并发数据(锁)ReaderWriterLockSlim
			
ReaderWriterLockSlim 类 ReaderWriterLockSlim 类支持三种锁定模式:Read,Write,UpgradeableRead.这三种模式对应的方法分别是 Enter ...
 - java中基本数据类型和C语言中基本数据类型转换
			
java中 1 short = 2 byte 1 char = 2 byte 1 int = 4 byte 1 long = 8 byte C语言中 typedef unsigned char ...