Spring框架初认识

  Java应用(从applets到n层服务端应用)是一种典型的依赖型应用,它由一些互相适当地协作的对象构成。因此,我们说这些对象间存在依赖关系。

  Java语言和java平台在架构应用与建立应用方面,提供着丰富的功能。从非常基础的基本数据类型和Class(即定义新类)组成的程序块,到建立具有丰富特性的应用服务器和web框架都有很多的方法。可以通过抽象的显著特性让基础的程序块组在一起成为一个连贯的整体。我们可以清晰的知道哪些业务需要哪些Classes和对象组成,哪些设计模式可以应用在哪些业务上面。 例如:Factory、Abstract Factory、Builder、Decorator 和 Service Locator 这些模式(这只是一部分)在软件开发行业被普遍认可和肯定(或许这就是为什么这些模式被定型的原因)。 这固然是件好事,不过这些模式只是一个有名字的,有说明的,知道最好用在什么地方的,解决应用中什么问题的最佳实践而已。 通常关于模式的书籍都列出你可以获得的最佳实践,不过,希望你思考之后,在你自己的应用中实现自己的模式。

  Spring的IoC主要专注于如何利用classes、对象和服务去组成一个企业级应用,通过规范的方式,将各种不同的组件整合成一个完整的应用。Spring中使用了很多被实践证明的最佳实践和正规的设计模式,并且进行了编码实现。你完全可以取出它们集成到你自己的应用中。在spring基础上构建优秀的,可维护的应用。

  Spring框架包含许多特性,并被很好地组织在下图所示的六个模块中。

  

  Core 封装包是框架的最基础部分,提供IoC和依赖注入特性。这里的基础概念是BeanFactory,美国服务器,它提供对Factory模式的经典实现,真正地允许你从程序逻辑中分离出依赖关系和配置。

  Context(上下文) 封装包构建于Core封装包的坚固上,它提供了用一种框架风格的方式来访问对象。Context封装包继承了beans包的功能,还增加了国际化(I18N)(用于规范resource bundle),事件传播,网站空间,资源装载,以及透明创建上下文。

  DAO 提供了JDBC的抽象层,它消除了冗长的JDBC编码和解析数据库厂商特有的错误代码。 并且,JDBC 封装包还提供了一种更好的声明性事务管理方法,不仅仅是实现了特定接口,而且对所有的POJOs(plain old Java objects)都适用。

  ORM 封装包提供了常用的“对象/关系”映射APIs的集成层。 其中包括JPA、JDO、Hibernate 和 iBatis 。利用ORM封装包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,如上面提到的简单声明性事务管理。

  Spring的 AOP 封装包提供了符合 AOP Alliance规范的面向方面的编程(aspect-oriented programming)实现,让你可以定义,例如方法拦截器(method-interceptors)和切点(pointcuts),从逻辑上讲,可以减弱代码的功能耦合,清晰的被分离开。利用source-level的元数据功能,还可以将各种行为信息合并到你的代码中。

  Spring中的 Web 包提供了基础的针对Web开发的集成特性,例如多方文件上传,利用Servlet listeners进行IoC容器初始化和针对Web的application context。当与WebWork或Struts一起使用Spring时,美国空间,这个包使Spring可与其他框架结合。

  Spring中的 MVC 封装包提供了Web应用的Model-View-Controller(MVC)实现。Spring的MVC框架并不是仅仅提供一种传统的实现,它提供了一种清晰的分离模型,在领域模型代码和web form之间还可以借助Spring框架的其他特性。

都属于昨天。哪怕那山再青,那水再秀,

Spring框架初认识

相关文章:

你感兴趣的文章:

标签云: