SpringIOC引入

1. 问题引入:

项目中Servlet需要Service Service需要Dao 我们是手动的通过new的方式提供的,会带来一些问题

1.1 所有的service或者dao都是new出来的,代码都是直接耦合在一块的。我们的设计目的尽量做到:高内聚低耦合。如果service的实现或者dao层实现需要修改,则需要把所有代码中所有new的地方都要改一遍。

1.2 所有代码都需要修改,不光是工作量的变化,而且需要重新编译

1.3 维护扩展不方便 我们的关注点必须考虑对象的整个创建过程和初始化过程。


2. 进行改进

改造的思路:

1.出现以上的问题的主要原因就是:

开发人员自己手动的处理了各层对象的创建过程和相互之间的依赖关系管理,所以要想降低各层之间的耦合,出发点就是把new的过程从开发人员任务中去掉。

2. 达成目标:

对象的创建权限由我们(开发人员),交给BeanFactory

对象中的依赖关系的赋值,由我们 也交给了工厂自动赋值


3. 总结

对象创建权限的变化(我们-工厂)的思想叫做IOC控制反转
我们写的工厂可以看作是IOC思想的一种具体实现 叫做IOC容器

对象之间依赖关系自动赋值,叫依赖注入 Dependency Injection

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值