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