首页 > 代码库 > 浅析Spring
浅析Spring
一:什么是Spring
Spring是一个开源的框架,是为了解决企业应用程序开发复杂性由RodJohnson创建的。虽然Spring是为企业级应用推出的,但是所有的Java系统开发都可以使用Spring,包括桌面应用程序和企业级Web应用。简单的来说,Spring是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。
u 目的:解决企业应用开发的复杂性
u 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能
u 范围:任何Java应用
u 轻量级:大小与开销方面而言Spring是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。
u 非侵入式:Spring应用中的对象不依赖于Spring的特定类。
u 控制反转:Spring通过一种称为控制反转(IOC)的技术促进了松耦合。当应用了IOC一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
u 切面编程:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
u 容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建—一个可配置的原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例,以及它们是如何关联的。
u 框架:Spring可以将简单的组件配置,组成为复杂的应用,在Spring中应用对象被声明式组合,典型地是在一个XML文件里,Spring提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了我们。
另外详情介绍可以参考博客
http://developer.51cto.com/art/200906/128386.htm
http://blog.csdn.net/lovesummerforever/article/details/22500339
二:Spring IOC
2.1 IOC容器的理解:
http://www.cnblogs.com/superjt/p/4311577.html
2.2 IOC容器的原理
http://blog.csdn.net/luoshenfu001/article/details/5816408/
http://jiwenke.iteye.com/blog/493965
http://blog.csdn.net/lovesummerforever/article/details/22646793
http://www.cnblogs.com/ITtangtang/p/3978349.html#a3(源码解读)
三:SprngAOP
AOP的理解
http://blog.csdn.net/qukaiwei/article/details/50367761(通俗易懂类型)
AOP的原理及其说明
http://blog.csdn.net/moreevan/article/details/11977115/
浅析Spring