首页 > 代码库 > spring 干嘛用的,记录。以后用多了再补充

spring 干嘛用的,记录。以后用多了再补充

http://zhidao.baidu.com/link?url=TVePPDbQU1n61s_Bu2FT9_YoJebaux8tYlNEZQhiHYHpT8QIbbyOSC8wDnpVmnmurwNntgNpRqwFkMcu8U9K8K

其实我一开始也好楼主有同样的困惑,但是在项目的慢慢积累,感觉spring的配置文件太有才了

我就和你分享一点:那就是软件的后期维护

比如说有一个订单的DAO接口:interface OrderDAO

在开发的时候我是用的MySql数据库,实现类为 class MySqlOrderDAOImpl implements OrderDAO

在业务代码里面,我要使用OrderDAO,这没什么难的,直接new一个对象不就行了吗,于是我就这样了:

OrderDAO dao = new MySqlOrderDAOImpl();

轻松完成,最后项目完成,实施运营了,后来客户发现MySql不行了,要换成Oracle,这不难,我在写一个OrderDAO的实现类不就行了吗,于是我两指一挥:

class OracleOrderDAOImpl implements OrderDAO

可是这样就又来了一个麻烦就是在我的业务代码里面,我都是自己new的对象,都是“MySqlOrderDAOImpl”,

没问题,把 “MySqlOrderDAOImpl” 替换成”OracleOrderDAOImpl “就可以了

于是,全体动员,查找“MySqlOrderDAOImpl”然后替换成”OracleOrderDAOImpl “,这样浪费了半天,还可能有些地方还没替换呢

=============================================

后来就想到了spring的Ioc,在配置文件里配置OrderDAO的实现类就可以了,只要OrderDAO的有新的实现类,我只是在配置文件中修改一下就可以了,大概需要几秒钟吧,时间太快,没法计算啊(呵呵)



不带Ioc :http://blog.csdn.net/tydldd1/article/details/8107786
Aop:http://www.blogjava.net/javadragon/archive/2006/12/03/85115.html

spring 干嘛用的,记录。以后用多了再补充