您的位置:首页 > 编程语言 > Java开发

跟着远叔学Spring系列(二)——Spring概述

2016-05-09 23:49 260 查看
Spring是一个基于POJO的Java开发框架,有了它,企业级应用的开发如有神助。Spring这么厉害,其实是基于它的两大特性——DI和AOP。DI是什么呢,英文全称为Dependency Injection,意为依赖注入,AOP的英文全称为Aspect Oriented Programming,意为面向方面编程,听起来云里雾里的,别急,待远叔慢慢道来。

DI——依赖注入,是Spring中用来进行松耦合的技术,松耦合是啥,松耦合就是是使对象之间的影响尽量减少,当一个对象改变时不会给它的小伙伴们带来更改的麻烦。那么依赖注入呢,就是对象被动接收依赖类,而不是自己去new一个对象,对于懒惰的程序员来说无疑是一大福音呐,当然,勤奋的程序员更需要它来节省开发时间。

AOP——面向切面编程,听起来很抽象,其实没什么,Spring通过它可以将一些通用的服务如日志,事务从业务逻辑中抽出来,并为多个业务逻辑提供服务,大大提高代码的复用性。

那么Spring是如何实现这两大特性呢,答案就是…………..通过一坨代码咯



核心容器

核心容器为其他模块提供基础功能,提供BeanFactory类,可用来装载Bean,是整个框架的基石。

Context(上下文)

此模块在BeanFactory的基础上更上一层,它扩展了BeanFactory,添加了对I18N【1】(国际化),应用的生命周期以及验证功能,更过分的是,此模块还提供了很多企业级服务,如电子邮件,JNDI【2】,EJB集成,远程调用及定时服务,并且支持与模板框架的集成,简直强大到没朋友……

AOP

此模块就是前面提到的AOP特性的源头,AOP 模块提供了多种方法建立切面,后面将详细讲解。

DAO

英文全称为Data Access Object,意为数据访问对象,简单来说就是跟数据交互的工具,本模块对以往访问数据库繁琐的JDBC语句进行了封装,使代码更简洁,同时还对各种数据库错误信息进行了封装,更加容易理解哦。

ORM

英文全称为Object Relation Model,意为对象映射模型,即将数据库表和Java对象一一对应,还是用来进行数据库访问,强大之处是可以与已有的ORM框架如hibernate,JDO ,iBATIS进行集成,更加强大。

MVC

即大名鼎鼎的Model-View-Controller模式,关于这个模式一定要了解,Spring采用MVC模式进行分层,对Web应用进行松耦合。

Web

为MVC模块提供支持,同时也提供几个面向Web的业务。

以上就是Spring的七大模块,其实,Spring还有如JMX【3】,JCA【4】,JMS【5】这样的小模块,后面讲详细讲解。

以上,就是Spring的大致内容,需要反复强调的一点是,Spring并不是要推翻已有技术,而是让开发者更好地利用已有技术,Spring在其中大概相当于粘合剂吧

下一期,将对DI进行简单的讲解,DI是Spring最基本的特性,也是非常重要的特性。

本期问题:呃……还没想好

注释:

【1】来源是英文单词 internationalization的首末字符i和n,18为中间的字符数,国际化的简称,指让产品(出版物,软件,硬件等)无需做大的改变就能够适应不同的语言和地区的需要。对程序来说,在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。 —源自百度百科

【2】Java Naming and Directory Interface,Java命名和目录接口,是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。 —源自百度百科

【3】Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。 —源自百度百科

【4】J2EE 连接器架构,Java Connector Architecture,是对J2EE标准集的重要补充,注重于Java程序连接到非Java程序和软件包中间件的开发。 —源自百度百科

【5】Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 —源自百度百科
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring java 开发框架