发表于: 2017-09-20 21:48:14

0 660


今日完成的事情:

学习spring概念按照教程实现案例

 

1:首先理解spring框架的核心,IoC(nversion of Control)容器概念:java程序中的每个业务逻辑至少需要两个或以上的对象来协作完成,通常每个对象在使用他的合作对象时,使用像new object()这样的语法来完成合作对象的申请工作。而IOC的思想是:Spring容器来实现这些相互依赖对象的创建、协调工作,对象只需要关系业务逻辑本身就可以了。从这方面来说,对象如何得到他的协作对象的责任被反转了。

 

反转概念;对于spring框架来说,就是由spring来负责控制对象的生命周期和对象间的关系;所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

 

DIDependency Injection),依赖注入概念;比如对象A需要操作数据库,以前要在A中自己编写代码来获得一个Connection对象,有了 spring我们就只需要告诉springA中需要一个Connection,在系统运行时,spring会在适当的时候制造一个Connection,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,依赖注入的名字就这么来的。

 

 

找案例,实现;

建立maven项目,配置pom文件来将使用的库声明,创建类,测试运行;

 


 

然后实现一个Java案例,两者对比之后,似乎更能理解一部分内容;

首先,新建一个Java项目FactoryTest,然后新建一个接口Animal,放在com.inter包下:

 

然后分别新建两个JavaBean,即Dog类和Cat类,放在com.bean包下,并都实现了Animal这个接口:

 

接着新建一个工厂类Factory,放在com.factory,使得Dog类和Cat类在工厂类上关联起来,Dog类和Cat类并不直接关联:

 

最后,写一个Test测试类,放在com.test包下,测试:

 

 

这个案例是以工厂模式来演绎ioc原理,也就是当应用程序中甲组件需要乙组件协助时,并不是在甲组件中直接实例化乙组件对象,而是通过乙组件的工厂获取,即该工厂可以生成某一类型组件的实例对象。在这种模式下,甲组件无需与乙组件以硬编码的方式耦合在一起,而只需与乙组件的工厂耦合;这也就是类似于上一个案例的控制反转和依赖注入。

 

明日计划的事情:

继续学习springdaojbdc,相关数据库概念,争取把内容连贯起来。

 

 

遇到的问题及解决方法:

逻辑概念理论还是硬伤,继续边走边学。

案例是实施经常会报错,不过大都是语法错误,百度错误并且对比其他代码,也可以找出来。

 

收获:

理解更多spring概念连带着以前模糊的内容,也逐渐有了清晰的样子。


 



返回列表 返回列表
评论

    分享到