BoomMan

爱生活,爱Coding.....

Spring从入门到放弃-不完全指南

为什么使用Spring?

没有Spring的时候我们是如何工作的?

在Web项目中我们都是面相接口进行编程,如UserService接口 要使用

UserService userService=new UserServiceImpl();

我们需要对接口的引用指向他的一个实现,如何UserService在10个地方用,我们需要new 10次,
假如我们有一天因为项目版本迭代,接口的指向变了?那么我们需要在编码中直接进行修改
(有人就说,我直接改代码不就行了?别改代码,只需要添代码,以前所有的老代码,都是有价值的,需要尽力保留)
所以首先在代码中我们要谨慎使用new 关键词,如果有一天版本迭代,你 new 的地方是不是都需要改?

如果不使用new 关键词创建对象,我们该如何去处理这个问题?

那我们使用工厂模式去创建对象,如果我们有需要直接去工厂中去取就可以了

(为了能甩锅,人们发明了「简单工厂模式」,谁实现简单工厂谁背锅){工厂模式解决了复杂的构造逻辑耦合隐藏了创建过程的复杂度}

高耦合的痛苦

这里解决了接口引用变更的问题,不用每一处取修改,只修改工厂就行

那么为了尽量减少牵一发而动全身,工厂模式中创建的对象中需要其他对象的创建也应该使用工厂模式

那么有可能我们需要一个对象就创建了n个工厂

这大大加重了开发复杂性,加重了开发成本

项目经理跟甲方说我们项目可以完成,有两个选择:1.项目工期延长,但是以后需求更改开发周期会变短2.项目按期完成,但以后需求更改开发周期会比较长
甲方会说什么?我要按期执行还要需求更改短

为了快又好,Spring的IOC(对象的构建技术)解决了我们上述的问题

控制反转 代码控制依赖 容器控制依赖

依赖注入 容器动态的将依赖关系注入到组件当中

Spring两大特性:IOC和AOP
他们对应着两个常见问题对象管理和切面编程

1.在没有Spring之前,我们是如何工作的,为什么使用Spring或Spring解决了我们什么样的问题

2.什么是IOC和DI,如何去理解

3.Spring中的配置方式有哪些

4.Spring的xml常见配置

5.Spring的AOP

6.Spring的事务如何配置

7.附录

8.常见问题:

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/boom_man/article/details/79250326
个人分类: JAVA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Spring从入门到放弃-不完全指南

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭