遍历枚举 改造获取的方法,这样获取的对象就是单例模式 再次运行测试程序 对象只有一个实例的情况下对i这个值进行了反复的操作.当多个人活着多线程在使用时.这就会出现类成员变量由于第一个人的修改.后面看到的都是改过的数据.尽量不要定义成类成员变量.而是改成局部变量,定义到方法里面去. 把i定义到方法里面 我们使用了一个Map对象,把兑现个都存进去后.后续在使用时候没有必要反复去创建 业务层也改,持久层也好.很少包含可以修改的类成员.单例的对象对我们来说效果更好.…
使用类加载器去加载文件 定义getBean的方法 运行测试方法报错. 在工厂类里面打印输出BeanPath 删除dao的实现类 没有dao的实现类.再次运行程序.编译不报错.运行时报错 以上就是工厂模式解耦…
编译时没有对应需要的jar包就报错.这特性就理解为程序的耦合 这种方式,它不是个错误而是个异常.编译的时候没有问题.运行时才会报错. 把注释的代码放开 程序可以正常运行 解决类之前依赖的思路 一个依赖的是具体的驱动类.第二个通过反射去创建依赖的只是一个字符串.这样可以减少耦合.这样同样导致的问题是.驱动的字符串在这里写死了.如果要更新数据库的话.这里还要改.可以通过读取配置文件的方式解决这个问题…
创建新项目.不选择骨架 打包方式选择是jar 增加mysql的包依赖 创建demo类来讲解程序的耦合 原来里面提供了sql语句.拿到mysql没执行…
创建新的项目 修改打成jar包 创建一个接口 用来模拟保存的方法 创建接口的实现类 我们没有IAccountDao这个类.那么就需要去创建Iaccountdao IAccountDao接口的创建 创建dao实现类 模拟测试 代码很强的耦合性,和依赖关系.代码的独立性很差 ,这是我们要解决的…
循环打印 工厂了的打印先注释掉 打印出来了5次对象. 打印数字i同时,让i++操作.为了看他被常见了几次实例 调用保存的方法 没个都想都有一个唯一的实例.在创建对象的时候,重新初始化了i的值.所以i每次都1 因为每次都想都是新创建的 如果对象是个单例的,只有一个对象实例 newInstance方法表示每次都会调用默认构造函数创建对象 通过propes.key获取配置文件内所有keys 然后进行遍历......…
先把dao的实现复制一份到别的地方.然后删除项目里面的AccountDaoImpl这个dao的实现类 删除 service层就开始报错了 这个时候运行直接报错 把文件复制回来就不报错了 解决依赖关系 实体类只是可重复组件的一部分. javabean大于实体类 准备配置文件 使用properties,它在解析和读取的时候相对于xml是简单的…
通过maven可以看到这个资源不存在 找到本地仓库,mysql 5.17确实没有jar包 在pom.xml内把版本改成5.16 5.1.6在本地仓库内是完整的版本 运行我们的测试方法 把依赖注释掉 再次运行.这是编译器就遇到的异常 在实际写代码过程中,可能会遇到很多 在编译器就报错的,这就证明了这个类在没有依赖类的情况下是不能编译的…
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的AOP配置 04 spring : 07.银行转账案例&&Java动态代理的两种实现方式 04 Spring: 08.面向切面编程 AOP&&6 四种常用通知类型 第四天:spring中的JdbcTemlate以及Spring事务控制 04 spring: 09.JdbcTemp…
程序的耦合 耦合:程序间的依赖关系 包括: 类之间的依赖 方法间的依赖 解耦: 降低程序间的依赖关系 在实际开发中: 应该做到,编译期不依赖,运行时才依赖 解耦思路: 第一步:使用反射来创建对象,而避免使用new关键词 第二步:通过读取配置文件来获取要创建的对象全限定类名 创建BeanFactory /** * 一个创建Bean对象的工厂 * * Bean:在计算机英语中,有可重用组件的含义 * JavaBean:用java语言编写的可重用组件 * javabean > 实体类 * * 它就是创…