★IoC:Spring通过控制反转技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。可以认为IoC与JNDI相反——不是我们自己控制对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它,这就是DI——依赖注入。
基本上就是对象不用自己动手管理和创建。完全由容器管理,我们只管用就行。
★AOP:Spring提供了面向切面的编程支持,AOP将与程序业务无关的内容分离提取,应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责其它的系统级关注点,例如日志或事务支持。
AOP将与业务无关的逻辑横切进真正的逻辑中。
★容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring的容器也是轻量级的。
★框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),而用户就有更多的时间和精力去开发应用逻辑。
IOC 注入,其实就是通过配置文件提供需要的bean文件,注入方式有setter和构造方法2种。通过注入也就就完成了控制反转。
解耦,是代码更容易维护。
使用Spring的主要目的是使J2EE易用和促进好的编程习惯,Spring的目标就是让已有的技术更加易用。
所以Spring的一个重要思想就是整合和兼容。因此使用Spring,即使不是最好,也会更好。
具体例子可以参考http://blog.csdn.net/wanghuan203/article/details/7628565