Spring系列(一)——简介

来源:互联网 发布:校准时间软件 编辑:程序博客网 时间:2024/05/01 02:14

引言:

               学习要有全局观,不观全局者,不足某一域!

概述:

               Spring是一个轻量级开源的java开发框架。也有人称之为轻量级容器架构。更为通俗的讲,String相当于一个大的工厂类。

内容:

              一 组件解释:

                 谈到Spring框架,大家都熟悉一幅图:图中的这些部分可以看做是Spring的组件也可以认为是Spring不同分层的模块。

            

             想要全面的理解Spring,这些组件的概念是必须了解的,小编为大家一一解释一下:

             1 Core:spring框架中最底层核心的模块,称之为核心容器或者IOC容器。主要功能实现了控制反转与依赖注入、Bean配置以及加载,核心思想为工厂模式。

             2 AOP:Spring对AOP的支持,Spring中的AOP代理由Spring的IOC容器负责生成、管理,其依赖关系也有IOC容器负责管理。AOP代理可以直接使用IOC容器中的其他bean实例为目标,由IOC容器的依赖注入提供。

             3 DAO:提供JDBC、事务以及DAO层的支持,简称数据访问层,主要用来访问数据库数据,缓冲数据,提供检索数据的方法。

             4 ORM:提供Hibernate、JPA、TopLink、JDO、OJB、IBatis的支持,就本身而言是一种模式,称之为对象关系映射,一般用于数据持久层,将数据关系转换为java对象。

             5 JEE:在spring框架称之为Spring上下文,可以看作为一个配置文件,向Spring提供上下文信息,也包括一些企业级服务:JNDI、EJB、电子邮件等服务。

             6 Web:Web上下文模块建立在应用程序上下文模块上,为应用程序提供了上下文。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

               二 特征表现:

              控制反转:对象不通过自己创建或从容器中查找依赖来关联对象,而是容器在初始化时不等对象请求就主动将依赖传递给它。

              面向切面:一些独立的服务与业务逻辑分离,例如事务服务,java对象只完成业务逻辑,不关心独立服务的工作。

              AOP容器:负责管理Bean的配置和生命周期以及创建与相互关联。

              MVC:Spring将控制器的职能更加细化,通过前端控制器、处理器映射器、处理器适配器、处理器、视图解析器以及视图View和Model各个组件的配合,体现了系统性的分层思想,更加弱化了传统MVC模式的耦合强度,提高了编程人员的开发效率。

              三 特点优点:

              1 特点:(1)方便解耦,简化开发:通过IOC容器,对象之间的关系由Spring进行控制,避免硬编码导致的高度耦合,通过配置文件与依赖注入的方式,简化了数据持久层的代码编写,提高了编程人员的开发效率。

                            (2)AOP支持:通过支持AOP容器,方便进行面向切面的编程,许多不合适用OOP实现的服务功能可以通过AOP实现,例如数据库的安全验证等服务功能。

                            (3)声明式事务的支持:之前事务管理代码,需要在用的类中重复编写,在Spring中,通过声明式方式进行事务的管理,提高了开发效率和质量。

                            (4)方便程序的测试:Spring对Junit4支持,可以通过注解方便的测试Spring程序。

                            (5)方便集成各种优秀框架:spring对许多优秀的框架(例如hibernate、Struts等)提供了直接支持,降低了优秀框架的使用难度。

              2 优点:(1)低侵入性,代码简洁

                            (2)独立于各种应用服务器

                            (3)依赖注入(DI方式)降低了业务对象替换的复杂性,降低了组件的耦合度

                            (4)AOP支持将通用服务如安全、事务、日志等进行集中式管理,从而提高了代码复用率

                            (5)ORM和DAO提供第三方持久层框架的支持,简化了底层数据的访问

                            (6)spring不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部            

               四 为什么提出:

               提出背景:Java EE系统框架出现了臃肿、低效、脱离现实的种种现状,为了改善传统架构的存在问题的局面。

               Spring好处:Spring将分层思想融入传统的系统架构,降低了传统架构的耦合性,同时独立于各种应用服务器,不受应用服务器版本的约束,而且与各大优秀框架无缝整合,简化了开发人员的编程任务,提高了软件开发效率。

总结:

              Spring框架学习的核心就是各大组件的学习,其中IOC、AOP、以及DAO等无疑更加重要,spring框架也成为了高级开发人员必备的素质之一。

0 0
原创粉丝点击