摘要:
1、完善我们的account案例 2、分析案例中问题 3、回顾之前讲过的一个技术:动态代理 4、动态代理另一种实现方式 5、解决案例中的问题 6、AOP的概念 7、spring中的AOP相关术语 8、spring中基于XML和注解的AOP配置
阅读全文
posted @ 2019-08-14 15:22
高山-景行
阅读(174)
推荐(0)
摘要:
Junit的核心Runner在执行的时候不会创建容器。同时它字节码文件,也改不了 spring整合junit 想办法把junit里面的不能加载容器的main方法换掉。从而实现创建容器。有了容器就可以实现注入 导入spring-test这个包。在pom.xml内配置 Junit包下面有RunWith这
阅读全文
posted @ 2019-08-14 14:42
高山-景行
阅读(224)
推荐(0)
摘要:
测试类重复代码的问题 这是之前的方式 运行findAll的方法,没有问题 测试人员不需要关心上面的方法,。应该关心的各个方法是否能够正常的运行 对于一个测试工程师,只要写完变量就可以测试了。 可以使用Autowired自动注入。但是 运行还是空指针异常 分析 出现问题的原因是没有容器,所以无法注入
阅读全文
posted @ 2019-08-14 14:08
高山-景行
阅读(174)
推荐(0)
摘要:
复制上面的数据源到下面改改名字 现在就是有两个数据源 创建一个eesy02的数据库 找到sql语句再创建Account表 现在就相当于有连个库一个eesy一个是eesy02这连个库。 account里面有三条记录 eesy的库内有5条数据 把数据源2的数据库地址改成eesy02这个库 执行测试类。查
阅读全文
posted @ 2019-08-14 13:52
高山-景行
阅读(259)
推荐(0)
摘要:
数据库的链接 次数是写死的 新建配置文件 定义成员变量 value注解实现 与配置文件的key对应 PropertySource 要想让spring去读取这个配置文件 resource编译后都跑到了。工作空间类路径下 PropertySource怎么识别类路径呢? 前面加上classpath:来表示
阅读全文
posted @ 2019-08-14 12:45
高山-景行
阅读(196)
推荐(0)
摘要:
把Configuration的直接先注释掉 那么运行测试类的查询所有 并不影响我们的使用 不写同样可以执行的原因是因为这里把SpringConfiguration这个类作为方法传入进去了 新建 SpringConfiguration里面的配置都剪切到JdbcConfig里面 运行测试查询所有的方法就
阅读全文
posted @ 2019-08-14 12:31
高山-景行
阅读(179)
推荐(0)
摘要:
目前这个配置文件除了导约束就没有其他的内容了。 删除这个bean.xml文件 但是测试类里面还是读取的xml的信息 注解 查看ApplicationContext的 关系图 查看实现类的实现类 之前我们一直都应的是ClassPathXmlApplicationContext ClassPathXml
阅读全文
posted @ 2019-08-14 12:11
高山-景行
阅读(332)
推荐(0)
摘要:
下面要解决第二部分的配置问题 这两行一出场,就表示可以通过调用构造函数实例化。因为这都是newInstance 上面的需要加上参数,下面的没有任何参数 下面这俩实现的效果不一样。 下面这个除了会创建对象,还会扔到spring的IOC容器中。前面的runner就是key后面的创建对象就是Value 上
阅读全文
posted @ 2019-08-13 23:55
高山-景行
阅读(180)
推荐(0)
摘要:
解决测试类重复代码的问题,xml还是存在的问题,没法脱离xml文件 要想在QueryRunner上加注解,是加不了的 创建工程 复制依赖项到pom.xml 复制注解的工程里面的com文件夹 配置文件bean.xml也复制过来 再把测试类复制过来 要拿掉xml的配置 创建配置类 就需要有一个和xml功
阅读全文
posted @ 2019-08-13 23:41
高山-景行
阅读(331)
推荐(0)
摘要:
注解改造案例 复制之前的xml配置的pom.xml里面的依赖。 复制com文件 bean.xml配置文件也拷贝过来 测试类也复制过来 开始基于注解的IOC配置 右键项目,选择maven。选择更新 更新后 ,所依赖的jar包就全都进来了。 注入的配置文件的开头 Service的bean配置都删掉 se
阅读全文
posted @ 2019-08-13 22:35
高山-景行
阅读(173)
推荐(0)
摘要:
编写测试方法。 TestMehtod 生成测试方法 只需要改个名字叫做testFindAll 然后就复制这个方法,多复制几次改改名字 findAll方法 编写查询所有的代码 选中和这个方法,run 根据id1查询 save save的表明写错了 修改正确 mysql内修改后欧的数据 update 先
阅读全文
posted @ 2019-08-13 22:18
高山-景行
阅读(201)
推荐(0)
摘要:
首先配置service对象,配置完Service对象就是注入dao对象。 但是现在没有dao对象,那就需要先配置dao对象。dao配置好以后。上线dao的注入就可以通过refs对象来注入这个dao了 我们大dao里面用到了QueryRunner这个对象 所有需要在dao的bean配置里面注入Quer
阅读全文
posted @ 2019-08-13 22:07
高山-景行
阅读(195)
推荐(0)
摘要:
导坐标 创建数据库表 数据库内的表已经存在 首先写业务层的代码 定义findAll的方法 没有Account类。创建Account类 定义属性。生成getter和setter方法和toString方法 完善接口内的方法 定义接口实现类 实现接口的方法 添加IAccountDao的变量。生成sette
阅读全文
posted @ 2019-08-13 21:44
高山-景行
阅读(188)
推荐(0)
摘要:
Scope 改成多例 PreDestory和PostConstruct PreDestory和PostConstruct这两个注解了解即可 增加两个方法,分别用注解 没有执行销毁方法。 如果你一个子类看成一个父类型那么就只能调用父类的方法。我们需要把它看成是自己。然后就可以调用自己的close方法,
阅读全文
posted @ 2019-08-13 20:17
高山-景行
阅读(188)
推荐(0)
摘要:
@Qualifier 指定id为accountDao1 测试 如果把Autowired注释掉的话, 就会报空指针异常。就是没有注入进来 @Qualifier不能独立使用必须和Autowired配合使用 Resource Resource 总结 @Value
阅读全文
posted @ 2019-08-13 20:09
高山-景行
阅读(193)
推荐(0)
摘要:
运行出现了空指针异常 @Autowired 注解出现的位置 AutoWired的代码 常用的就是写类上和方法上。 运行测试,刚才运行是一个空指针异常 也就是通过Autowired 这个accountDao这个对象不为空了。 注入成功原理 自动按照类型注入。IAccountDao去Spring的容器里
阅读全文
posted @ 2019-08-13 20:00
高山-景行
阅读(561)
推荐(0)
摘要:
为什么要使用者三个注解 Controller:表现层 Service:业务层 Repository:持久层 在这里就是用Controller 运行也没问题 用Service Repository同样也是可以的,这里不再尝试 dao内配置 测试dao的注解 总结 有些时候对象不属于三层的话,可以直接用
阅读全文
posted @ 2019-08-13 19:36
高山-景行
阅读(189)
推荐(0)
摘要:
@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件。但是配置文件这里是空的。我们的bean里面什么对象都没有定义 需要有一行配置 spring的文档里面 搜索xmls:cont 把这一段复制过去 配置上之后
阅读全文
posted @ 2019-08-13 19:28
高山-景行
阅读(242)
推荐(0)
摘要:
注解配置和xml的配置要实现的功能都是一样的。都是要降低程序间的耦合,只不过配置的形式不一样 打包方式改成jar 加入spring 的依赖 复制之前的代码过来 复制到我们新建的工程里 resurces下面的bean.xml也粘贴过来 项目的结构 接下来要把bean.xml里面的配置都使用注解来配置
阅读全文
posted @ 2019-08-13 19:13
高山-景行
阅读(172)
推荐(0)
posted @ 2019-08-13 12:46
高山-景行
阅读(173)
推荐(0)
摘要:
适应配置的方式解决我们刚才的编码操作 -dist结尾的就是spring 的开发包 解压好的 这里面是约束 libs是扎包 三个为一组,实际上只有21个 自己在使用需要导入jar包的时候,选择这种没有任何 一般都是打开这个index.html IOC只能解决程序之间的依赖关系 接下来将用这个工程基础之
阅读全文
posted @ 2019-08-13 12:34
高山-景行
阅读(182)
推荐(0)
摘要:
IOC的含义 new的方式创建对象,是主动去找对象。对我的资源独立就变的很难,因为这有明显的依赖关系 第二种方式创建对象。app断开了和资源的联系,。而是去找工厂要一个资源。由工厂负责和资源去的联系,并把想要的对象再转到应用系统 AccountServiceImpl使用上面这行代码也是完全可以找到自
阅读全文
posted @ 2019-08-13 12:27
高山-景行
阅读(235)
推荐(0)
posted @ 2019-08-13 00:06
高山-景行
阅读(123)
推荐(0)
摘要:
再复制一份,改名3 常用的注入方式,这里选择set saveAccount方法输出所有的对象 map需要导包 配置xml 集合类型的值配置方式 在property标签里面再写标签 这里选择array。array代表数组 里面用value配置 测试。访问accountService3 list Set
阅读全文
posted @ 2019-08-13 00:04
高山-景行
阅读(170)
推荐(0)