日期:2014-05-18  浏览次数:20615 次

请大家进来看看spring的好处在哪里
大家我想请问下spring有什么作用,情况:
无spring的
首先有.dao和.daoImpl文件,然后在.action文件中创建一个.daoImpl的对象,就在execute()函数中直接调用这个对象的方法即可。

有spring的情况:
在application.xml文件中创建.daoImpl对象注入到.action中,然后在.action中调用这个对象的方法

我个人觉得这样子好像用不用spring无所谓,
所以想请问下spring的好处体现在什么地方

不明白我说什么的我马上解答,在线等。别说什么spring便于修改代码什么的,最好举个例子。百度了很多,没有例子只有理论不太懂

------解决方案--------------------
什么切面编程啥的就不说了,最常用的特性,就是依赖注入。

举个例子,你有一个类A,A类又有个成员属性B b;C c; D d;
B、C、D类下又可能包含其他工具类。
如果不使用Spring的方式,我们想要new一个A类对象,需要确保里面的B、C、D,以及其内部更多类型的属性能够正确初始化(这里B、C、D可能是一些工具类,实现一些方法,所以必须要初始化),这个A的构造方法以及B、C、D的构造方法将会异常艰难,并且如果A、B、C、D类或者其内部属性有变化,对外层引用类的构造方法将会造成致命的影响(耦合度高)。

Spring依赖注入方式,就可以简化此操作,并且如果类的内部属性结构变化了,只要增删配置文件即可。(配置文件就好比一个“模具”,模型关系搭建好了,Spring就根据这个模具,直接“浇筑混凝土”,我们的对象就很简单的实现了。)
------解决方案--------------------
spring话 就是在容器启动的时候 你的action service dao daoIml都是实例化好的 不用你在用action的时候实例化 service
并且 统一管理的话 spring会默认给serivce  和dao都是单利  
你要自己实例化  你能确定你自己需要实例化多少遍吗??
------解决方案--------------------

这个百度不到吗,关键是你自己用用就知道了
------解决方案--------------------
引用:
什么切面编程啥的就不说了,最常用的特性,就是依赖注入。

举个例子,你有一个类A,A类又有个成员属性B b;C c; D d;
B、C、D类下又可能包含其他工具类。
如果不使用Spring的方式,我们想要new一个A类对象,需要确保里面的B、C、D,以及其内部更多类型的属性能够正确初始化(这里B、C、D可能是一些工具类,实现一些方法,所以必须要初始化),这个A的构造方法以及B、C、D的构造方法将会异常艰难,并且如果A、B、C、D类或者其内部属性有变化,对外层引用类的构造方法将会造成致命的影响(耦合度高)。

Spring依赖注入方式,就可以简化此操作,并且如果类的内部属性结构变化了,只要增删配置文件即可。(配置文件就好比一个“模具”,模型关系搭建好了,Spring就根据这个模具,直接“浇筑混凝土”,我们的对象就很简单的实现了。)


这解释比较靠谱...
------解决方案--------------------
主要是控制反转 和 依赖注入。。