摘要:
实际的开发过程中都是基于dao的 创建持久层dao 定义三个方法 持久层实现类 创建dao的实现类。 添加未实现的方法 通过spring注入 jdbcTemplate。所以这里生成一个jdbcTemplate的set方法 根据id查询的方法 用一个List<account>去接收 根据name去查询
阅读全文
posted @ 2019-08-15 20:32
高山-景行
阅读(157)
推荐(0)
摘要:
先看这张图 1、spring中的JdbcTemplate JdbcTemplate的作用: 它就是用于和数据库交互的,实现对表的CRUD操作 如何创建该对象: 对象中的常用方法: 新建项目 引入四个包的坐标 用这个之前准备好的数据库表 创建实体类 三个属性,生成get和set方法和toString方
阅读全文
posted @ 2019-08-15 18:49
高山-景行
阅读(169)
推荐(0)
posted @ 2019-08-15 18:35
高山-景行
阅读(135)
推荐(0)
摘要:
由转账添加事物,使得我们的操作变的非常麻烦。重复代码产生了很多 实际的开发中如果想记录日志每个方法都要执行 如果判断用户是否登陆也是每个方法都需要判断 这些重复的代码我们都需要去解决。 解决的方式,以前是重复代码抽取。抽取出来之后就调用。抽取并不是终点,只是第一步。 接下来就需要把重复的代码在方法执
阅读全文
posted @ 2019-08-15 18:31
高山-景行
阅读(227)
推荐(0)
摘要:
复制依赖和改jar包方式 src下的都复制过来。 复制到新项目里了 bean.xml里面复制上面一行代码到下面。把aop改成context。 配置spring容器创建时要扫描的包 Service的配置这里就可以删除了 配置注解 使用@Service注解 开始AOP配置 把通知类交给Spring来管理
阅读全文
posted @ 2019-08-15 18:23
高山-景行
阅读(202)
推荐(0)
摘要:
环绕通知。method属性需要新加一个方法 在logger内中新加aroundPringLog方法 异常代码先注释掉 对比现在的环绕通知和之前写代理类做的环绕通知。右侧的方法内有明确的业务层方法(切入点方法)调用。左边没有业务方法调用 proceed方法有异常,需要在try catch中 try c
阅读全文
posted @ 2019-08-15 12:31
高山-景行
阅读(267)
推荐(0)
摘要:
下面配置了通用的表达式,,上面的四个就不用再配置那么长 索罗的切入点表达式了。 节省了每次都要写一长段表达式的过程 写在一个aop:aspect这个切面下面就只能当前切面用 写在切面里面 运行测试 挪到切面外面。报错了 因为切面标签报错了。如果运行测试方法就会报错。但是提示的错误不明显 原因是导了约
阅读全文
posted @ 2019-08-14 23:58
高山-景行
阅读(218)
推荐(0)
摘要:
新建项目 复制上节课的pom.xml内的代码 复制java下的代码 测试类也复制过来 配置文件也拷贝过来 logge下增加几个方法 测试方法只需要一个saveAccount方法就可以了 增加其他三种通知的配置 执行测试方法 after没有执行。 after是因为方法写错 改正 没有异常通知。原因是我
阅读全文
posted @ 2019-08-14 22:42
高山-景行
阅读(221)
推荐(0)
摘要:
写测试类来测试。。也不需要整合JUnit了就是个普通的测试类。 我们要看就是有没有给我们真正的实现 记录日志 配置起作用了。 三个方法都调用一下 目前我们的配置只能对saveAccount增强 通常情况下 我是对业务层所有的方法添加增强,尤其是在事务控制时 切点表达式的写法 访问修饰符可以省略 运行
阅读全文
posted @ 2019-08-14 22:28
高山-景行
阅读(328)
推荐(0)
摘要:
resources下新建bean.xml文件 xmlns:aop 先配置IOC aop 通知类就是logger。id配置为logAdvice表示日志的通知 梳理流程 首先我们在这有个Service它需要增强。它想在执行里面任何一个方法时都记录日志 然后我们就准备出了一个日之类。这个日志类里面就一个p
阅读全文
posted @ 2019-08-14 22:04
高山-景行
阅读(198)
推荐(0)
摘要:
新建项目 先改打包方式 导包,就先导入这俩包的坐标 aspectjweaver为了解析切入点表达式 新建业务层接口 定义三个方法 看返回和参数的区别。为了把这三类方法表现出来,并不局限于方法干什么事 1.无参无返回值 2.有参无返回值 3.有返回值无参 创建实现类,,业务层的实现类 重写三个方法,方
阅读全文
posted @ 2019-08-14 21:44
高山-景行
阅读(167)
推荐(0)
摘要:
基于接口的动态代理要求,要去被代理对象最少实现一个接口 基于子类的动态代理没有实现接口的要求。但是要求我们的被代理类不能是最终类 在Spring中可以选择基于接口还是子类的动态代理 术语 大白话。业务层看到方法就都是连接点。IAccountService中的方法。它是连接什么的呢? 连接我们的业务和
阅读全文
posted @ 2019-08-14 21:30
高山-景行
阅读(168)
推荐(0)
posted @ 2019-08-14 20:17
高山-景行
阅读(198)
推荐(0)
摘要:
回到事物的案例中 我们现在希望用代码比较精简的这个AccountServiceImpl这个类。而不是一堆事物的AccountServiceImpl_OLD这个类 新建BeanFactory类 AccountService需要通过spring注入的方式。所以这里提供了set方法 代理谁就写的类加载器。
阅读全文
posted @ 2019-08-14 20:13
高山-景行
阅读(303)
推荐(0)
摘要:
代理一个普通的java类 导入cglib的包 它还有一个asm的依赖。会自动加进来 创建cglib的文件夹。把proxy里面的Client和Producer复制到cglib文件夹 Producer不实现任何的接口 Client内的代码要重新写 不能受罪种类,如果是最终类就不能再创建子类了 参数1是C
阅读全文
posted @ 2019-08-14 19:48
高山-景行
阅读(191)
推荐(0)
摘要:
创建 Producer 生产者的类 创建标准。这标准就是接口 创建消费者的类 以前的方式,客户直接找生产厂家 代理商出现以后,怎么去联系代理商 动态代理 第一个参数是ClassLoader 第二个参数是interface是字节码类型,第三个是InvocationHandler是一个接口 代理prod
阅读全文
posted @ 2019-08-14 17:38
高山-景行
阅读(205)
推荐(0)
摘要:
新建项目 实现动态代理。 动态代理的概念 买电脑找代理商 代理的出现 解决了生产厂家的一些问题 需要java中的动态代理机制
阅读全文
posted @ 2019-08-14 17:10
高山-景行
阅读(142)
推荐(0)
摘要:
转账回滚这里把异常打印出来。AccountServiceTest.java 把数据库的金额现在都改成1000块 运行测试方法 这里已经报错了。 刷新数据库内的数据。这样我们事物就控制成功了。 事物控制由于持久层回到了业务层。通过添加事物,转账可以正常的执行了。 配置变的非常的麻烦 复制一份Accou
阅读全文
posted @ 2019-08-14 17:00
高山-景行
阅读(375)
推荐(0)
摘要:
Service中就需要用到 TransactionManager中的方法。提供set方法等着spring注入 这里面所有的操作都可以加上事物控制 其他的方法都是相同的操作 这里没有返回结果 转账的方法 查询的地方需要thorw异常。产生了异常,程序就不在执行 QueryRunner注入了Connec
阅读全文
posted @ 2019-08-14 16:45
高山-景行
阅读(280)
推荐(0)
摘要:
事务管理工具类 首先需要有connection。并且是当前线程上的connection。声明connectionUtils。提供set方法等着spring来注入 有异常需要放在事务里面 close关闭并不是真正的, 而是还回到连接池中。那么现成用完了也是还回到了线程池中 线程还回的时候绑定着一个连接
阅读全文
posted @ 2019-08-14 16:15
高山-景行
阅读(211)
推荐(0)
摘要:
不是没有事务造成的 这样相当于有四个connection 每一个都有自己独立的事物 每一个自己成功就提交事务。 已经提交的就执行结束。没有提交的就报异常 让这些操作使用同一个connection 事物的控制 提供一个数据源 ,既不能用也不能自己创建。等着spring为我们注入。所以这里提供set的方
阅读全文
posted @ 2019-08-14 16:05
高山-景行
阅读(273)
推荐(0)
摘要:
使用xmlioc这个项目进行完善。 创建一个新的工程把之前的代码都复制过来。 复制pom.xml内的依赖项 java下的com包复制过来。 配置文件复制过来 测试类固执过来 内容进行删减 测试类的方法都删掉 新增方法 实现类里面添加未实现的方法 实现这个方法 用List<account>去接收 这里
阅读全文
posted @ 2019-08-14 15:47
高山-景行
阅读(257)
推荐(0)