Spring是一个非常活跃的开源框架;它是一个基于Core来构架多层JavaEE系统的框架,它的主要目地是简化企业开发.
Spring以一种非侵入式的方式来管理你的代码,Spring提倡”最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring
1,springIOC(Inversion of Control)
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
2,springDI
依赖注入,使用spring可以动态添加依赖的其他对象,只需在类中创建getter,setter方法即可。
3,springAOP
sprintAOP是面向切面编程,它的实质就是动态代理,与strtus2的action类似,程序员只需关心action中业务所需的代码,其他与业务无关的如拦截器由struts2管理。
3.1代理模式
AOP的核心就是代理模式。
4,spring对象容器
spring本身也是个管理对象的容器,它可以指定对象是否产生多例或单例,通过(property)属性指定
允许bean可以被多次实例化(使用一次就创建一个实例) . Spring不能对一个prototype bean的整个生命周期负责.这就意味着清楚prototype作用域的对象并释放任何prototype bean所持有的昂贵资源都是客户端的责任。
4.1初始化bean的时机
spring默认在启动时将所有singleton bean提前实例化。提前实例意味着作为初始化的一部分,applicationContext会自动创建并配置所有的singleton bean这样的化在配置中有任何错误,启动时都能立即发现。