陈科肇
=============
1.目的
简化JAVA的开发。
2.依赖注入(DI)-每个对象负责管理与自己相互协作的对象(即它所依赖的对象)的引用
为了一定程度上的松耦合作用,使得POJO(简单的java对象)之间的关系没有必然的联系但又联系了。
举例:
一个容器桶是用来盛放液体的,至于用来盛放那种液体是个未知。可能有时用来盛放java液体,也可能有时用来盛放.NET液体。这就一定程度上,使得两都的耦合能够实现松散的关系。这就是好处!
依赖注入的方式:
1).构造器注入
2).接口注入
3).setter注入
注:通过DI,对象的依赖关系将由负责协调系统中各个对象的第三方组件在创建对象时设定,对象无须自行创建或管理它们的依赖关系(依赖关系将被自动注入到需要它们的对象中去)
3.应用切面-基于切面进行声明式编程
这是为了使得开发人员无须再去处理重复的相关代码,比如:在业务层,除了核心的业务外,你是否还需要处理业务相关的问题,就好比如日志信息、事务管理等。这些通常与业务没关系的代码块称为“横切关注点”,因为他们总跨越系统的多个组件。
正是因为核心的业务代码和与业务无关的代码混合在一起,而可能会造成代码的复杂,不利于开发。
原理:
把“横切关注点”由业务层抽取出来,放入一个类中,然后在配置文件xml中配置织入业务层中。
4.使用模板消除你的板式代码
就好比如使用JDBC访问数据库查询数据时,首先你不得不创建一个数据库连接,然后再创建一个语句(Statement)对象,最后才能进行查询。为了预防资源泄漏,你必须捕捉SQL异常。最后处理完核心的业务查询数据后,你不得不收拾残局,关闭数据连接、语句和结果集。
从上述可看出,就一名查询语句的业务功能都能搞得那么得复杂,是不是“板式代码”又多又重复(其他的JDBC几乎都是这样的)了。所以使用了Spring提供的模板能大大地处理好这些问题。
5.Spring容器-容纳你的Bean
在基于Spring应用中,应用对象生存于Spring容器中。Spring容器创建对象,装配它们,配置它们,管理它们的整个生命周期,从生存到死亡(或者从创建到销毁)。
Spring容器可以归类于两种类型-
1).Bean工厂:最简单的容器,提供最基本的DI支持;
2).应用上下文:基于BeanFactory之上构建,并提供面向应用的服务,例如从属性文件解析文本信息的能力,以及发布应用事件给感兴趣的事件监听者的能力;
注:应侧重于应用上下文
Bean的生命周期:
待续...
原文地址:http://blog.csdn.net/u013474104/article/details/43637947