深入浅出Spring(四) Spring实例分析
上次的博文中 深入浅出Spring(二) IoC详解 和 深入浅出Spring(三) AOP详解中,我们分别介绍了一下Spring框架的两个核心一个是IoC,一个是AOP。接下来我们来做一个Spring的实例。
为了更好的讲解Spring的相关内容,这次的博文会针对一个【添加用户】的实例,进行逐步的解剖和优化,再此过程中,细节内容大家不需要考虑,只需要加深对Spring的理解即可。
1、实例一 首先,我们来看一个没有使用任何Spring框架内容,比较单纯的添加用户的实例。先看一下相关的类图和实现代码,具体如下:
看完上面类图之后,我们对比于第一张类图,可以看出:这张图中类与类之间的相互依赖更少,耦合性更低。这正是我们使用Spring的好处,但这张类图的代码究竟是如何实现的呢?这就是接下来,我们需要重点看一下的Client类,具体的相关代码如下:UserManager userManager = new UserManagerImpl(userDao);UserDao userDao = new UserDao4MySqlImpl();4、总结
对比上面的三张类图,我们可以看到,使用Spring框架, 将对象之间的依赖关系交由Spring容器进行控制,通过使用XML文件将对象之间的调用关系从代码中分离,避免硬编码所造成的过度程序耦合,这正是Spring框架实现解耦的核心思想。
到此为止,关于Spring的实例就讲解完毕了,讲解的不是很细,大家只需要对Spring框架有一个初步的认识即可。至于Spring运行过程中的具体实现,我会在下次的博文中继续讲解,以便加深大家对Spring的理解。
给大家提供一个博文配套的参考实例代码下载地址:
spring_01.zip
- 11楼caozhangyingfei0109昨天 10:28
- 其实我还是不太懂啊
- Re: zs15932616453昨天 10:58
- 回复caozhangyingfei0109n呵呵 很简单,多看类图和代码就可以了!
- 10楼caojunliang前天 21:00
- 楼主写的都很好 我每期都看 建议每次能把这个例子的源码能上传上来 要能运行成功的
- Re: zs15932616453前天 21:38
- 回复caojunliangn多谢关注,我会在今后的文章中将实例都上传上来!常来看看!
- 9楼mazhaojuan3天前 21:22
- 一个字:高手啊!
- Re: zs159326164533天前 21:24
- 回复mazhaojuann呵呵 常来看看!
- 8楼cjr152336611433天前 19:47
- 这图真漂亮啊,看起来很舒服啊
- Re: zs159326164533天前 21:02
- 回复cjr15233661143n呵呵 常来看看!
- 7楼wwwwenhuan4天前 18:39
- 照这样发展下去,你迟早得是专家
- Re: zs159326164534天前 18:39
- 回复wwwwenhuann呵呵 努力中!
- Re: lfmilaoshi3天前 11:43
- 回复wwwwenhuann已经是专家了好不好
- Re: zs159326164533天前 11:44
- 回复lfmilaoshin呵呵 努力中!
- 6楼wangxianwu20124天前 18:27
- mark之
- Re: zs159326164534天前 18:38
- 回复wangxianwu2012n多谢关注,常来看看!
- 5楼zwk6265424174天前 17:55
- 果然不愧是帅哥啊。
- Re: zs159326164534天前 18:26
- 回复zwk626542417n呵呵 常来看看!
- 4楼lfmilaoshi4天前 23:18
- 我已经看到了明天,那灿烂的阳光。
- Re: zs159326164534天前 23:19
- 回复lfmilaoshin呵呵 阳光灿烂的明天!
- 3楼fan_lang5天前 18:55
- 哥们 倒数两个类图是一样的 能补充完整不 还有那个工厂类的代码
- Re: zs159326164535天前 19:00
- 回复fan_langn两个图是不一样的,最后一个类图相对更简单,你仔细看一下!关于那个工厂类,它是Spring框架自身的核心类。你可以下载一份Spring源码找到这个类进行研究。
- 2楼lishuangzhe70475天前 12:04
- 这么漂亮的图。。。。
- Re: zs159326164535天前 12:35
- 回复lishuangzhe7047n呵呵 常来看看!
- 1楼jnqqls5天前 10:40
- 写的很不错,一步步的切中要害.
- Re: zs159326164535天前 10:50
- 回复jnqqlsn呵呵 学习中!