【工程截图】

【PersonDao.java】

package com.HigginCui.daoProxy;

public interface PersonDao {
public void savePerson();
}

【PersonDaoImpl.java】

package com.HigginCui.daoProxy;

public class PersonDaoImpl implements PersonDao{
@Override
public void savePerson() {
System.out.println("save Person...");
} }

【Transaction.java】

package com.HigginCui.daoProxy;

public class Transaction {
public void beginTransaction(){
System.out.println("begin transaction...");
}
public void commit(){
System.out.println("begin commit...");
}
}

【PersonDaoProxy.java】

package com.HigginCui.daoProxy;

public class PersonDaoProxy implements PersonDao{
private PersonDao personDao;
private Transaction transaction; public PersonDaoProxy(PersonDao personDao,Transaction transaction){
this.personDao=personDao;
this.transaction=transaction;
}
@Override
public void savePerson() {
//1.开启事务
this.transaction.beginTransaction();
//2.进行save操作
this.personDao.savePerson();
//3.事务提交
this.transaction.commit();
}
}

【testPerson.java】

package com.HigginCui.test;

import org.junit.Test;

import com.HigginCui.daoProxy.PersonDao;
import com.HigginCui.daoProxy.PersonDaoImpl;
import com.HigginCui.daoProxy.PersonDaoProxy;
import com.HigginCui.daoProxy.Transaction; public class testPerson {
@Test
public void test(){
PersonDao personDao=new PersonDaoImpl();
Transaction transaction=new Transaction();
PersonDaoProxy personDaoProxy=new PersonDaoProxy(personDao,transaction);
personDaoProxy.savePerson();
}
}

【运行结果】

begin transaction...
save Person...
begin commit...

15_AOP入门准备_静态代理模式的更多相关文章

  1. Java面向对象_静态代理模式

    概念:为其它对象提供一种代理以控制对这个对象的访问.代理模式说白了就是"真实对象"的代表,在访问对象时引入一定程度的间接性,因为这种间接性可以附加多种用途. public clas ...

  2. 16_AOP入门准备_动态代理模式

    [工程截图] [PersonDao.java] package com.HigginCui.daoProxy; //目标类接口 public interface PersonDao { public ...

  3. 黑马程序员:Java基础总结----静态代理模式&动态代理

    黑马程序员:Java基础总结 静态代理模式&动态代理   ASP.Net+Android+IO开发 . .Net培训 .期待与您交流! 静态代理模式 public  class  Ts {   ...

  4. Java模式—静态代理模式

        静态代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问,提供“真实对象”的代表,在访问对象时引入一定程度的间接性,这种间接性可以附加多种用途. 代理模式的主要作用是为其他对象 ...

  5. 2.1多线程(java学习笔记) java中多线程的实现(附静态代理模式)

    一.多线程 首先我们要清楚程序.进程.线程的关系. 首先进程从属于程序,线程从属于进程. 程序指计算机执行操作或任务的指令集合,是一个静态的概念. 但我们实际运行程序时,并发程序因为相互制约,具有“执 ...

  6. java 多线--静态代理模式

    我们使用 java 多线程时,都需要通过线程代理对象来启动线程,常见的写法: new Thread(target).start(); 这在设计模式中叫静态代理模式,静态代理模式组成; 1.公共接口 2 ...

  7. java的线程、创建线程的 3 种方式、静态代理模式、Lambda表达式简化线程

    0.介绍 线程:多个任务同时进行,看似多任务同时进行,但实际上一个时间点上我们大脑还是只在做一件事情.程序也是如此,除非多核cpu,不然一个cpu里,在一个时间点里还是只在做一件事,不过速度很快的切换 ...

  8. JAVA笔记7__接口应用/Object类/简单工厂模式/静态代理模式/适配器模式

    /** * 接口应用 */ public class Main { public static void main(String[] args) { Person p = new Person(&qu ...

  9. 【多线程】Thread静态代理模式理解

    Thread静态代理模式理解 代码示例: /** * @Description 静态代理模式 * @Author hzx * @Date 2022-03-26 */ public class Stat ...

随机推荐

  1. Centos kvm桥接

    新建一个ifcfg-br0文件: DEVICE=br0TYPE=BridgeBOOTPROTO=staticBROADCAST=10.1.255.255IPADDR=10.1.29.3NETMASK= ...

  2. MariaDB-5.5.33a 编译安装

    交代一下内核的信息 [root@localhost soft]# uname -r 2.6.32-71.el6.x86_64 创建mariadb用户组 [root@localhost mariadb- ...

  3. 【python自动化第十篇:】

    复习: 线程与进程的区别: 进程:资源的集合 线程:最小调度单位 进程至少包含一个线程 线程之间的内存是共享的,两个线程操作同一个数据就会修改整个结果(需要mutex加锁来保持数据的一致性),递归锁, ...

  4. POJ 2728 Desert King

    Description David the Great has just become the king of a desert country. To win the respect of his ...

  5. 版本控制Subversion TortoiseSVN apache VisualSVN笔记(转载)

    转载于http://blog.sina.com.cn/s/blog_6b94d5680101m7ah.html Subversion(简称svn)是近年来崛起的版本管理软件,是cvs的接班人.目前,绝 ...

  6. Kinect for Windows SDK开发入门(一):开发环境配置

    [译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...

  7. cocos2d-x 2.0 拖尾效果分析

    转自:http://game.dapps.net/gamedev/game-engine/7281.html 在Cocos2d-x中,拖尾效果有一个专门的类CCMotionStreak来实现.下面我们 ...

  8. ThinkPad New X1 Carbon中关闭任务栏上的触摸键盘

    1. 执行services.msc 2. 选择Touch Keyboard and Handwriting Panel 服务. 3. 将其停止执行. 并disable.

  9. yaxim

    Site: http://yaxim.org/yax.im/ Code: https://github.com/ge0rg/yaxim

  10. sharepoint 2013 更改搜索server组态

    1.新搜索server在.安装sharepoint server 2013,并连接到一个现有的sharepoint server领域,完成后.您可以配置新的搜索server. 打开sharepoint ...