spring课程学习——1,2课

第一课 Junit测试相关讲解

1.Junit使用

    ① Junit 测试组合

   即把所有的AllTest都包在总的AllTest里面,而每一个不同的包里的AllTest又包含各自包里所有的测试,故一次就能运行所有的测试。这种Suite的实际模式实际上就是组合模式。

    ② 用mock对象进行测试

    3.对遗留代码进行测试

 

第二课上

构造了一个最基本的BeanFactory,并且实现了Create时候的出错处理

第二课下

    1.改进BeanFactroy

    根据单一职责原则,把原本在loadBeanDefinition中的对xml的解析抽取出来,放在一个单独的类,并且给BeanFactory增加接口,接收xml读取到的BeanDefinition,如图示

    缺陷:BeanDefinition是内部的概念,而BeanFactory是给客户调用的接口,内部的概念应该由专门的接口来处理,不应暴露在外面。改进后如图示

    2.把BeanFactory隐藏起来,包装成接口ApplicationContext来提供给用户调用

    因为用户一般不会直接调用底层的BeanFactory,所以要包装一个ApplicationContext来提供给用户使用

   

    3.提取不同的ApplicationContext的共同点Resouce进行封装

    比如FileSystem和ClassPathXmlApplicationContext的区别在于获取xml文件方式的不同,但它们获取到以后,都要把xml文件编程inpustream送去解析,因此提取出了这个共同的inpustream,用Resouce类来操作。

    PS:这里的实现与Spring的不一样,Spring还抽象了一个DefaultResourceLoader,提供了一个可以默认为FileSystem或者是ClassPath的获取XML方式的方法。

    自身实现:

            

    Spring实现:

           

   4.实现FileSystemXmlApplicationContext

   由于FileSystemXml与ClassPathXml非常相似,故getResourceByXXPath()方法代码有大部分交叉,只有一部分不同,所以要抽象一个template来解决代码重复的问题。

      

   5.从外界引入ClassLoader

   要从外面引入ClassLoader,又不能直接放在供给用户使用的BeanFactory,要增加一个可设置ClassLoader的接口。

                

   6.获取Bean的单例模式

   在Spring有scope字段为判断是否单例,默认为“singleton”。

                                                            

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值