spring学习笔记1

早就听说SSH框架,今天终于下定决心开始学习其中的S——Spring。其实,spring最核心的特性就是依赖注入(dependency injection)和面向切片编程(aspect-oriented programming, AOP)

当年Sun推出JavaBean的时候旨在将简单的java对象更好地复用并用于复杂应用之中,但JavaBean功能似乎太过简单以至于它无力完成真正意义上的企业级开发。通常情况下复杂的企业应用都需要诸如事务,安全性和分布式计算等服务的支持,而这些JavaBean都是不提供的。所以Sun1998年发布了EJB,即企业版的JavaBeanEJB的确提供了一组企业级服务,但还是没有简化原始的JavaBean

事实上,EJB并没有简化企业应用开发,这也促使很多开发人员对其并不是十分感兴趣。不过Java组件开发终于落叶归根。包含AOPDI在内的新技术赋予了JavaBean许多EJB才拥有的功能,当然他们可没有EJB那么复杂。

一般意义认为POJOJavaBean,而Spring框架便是倡导轻量级的基于POJO的开发。

什么是SpringSpring是一个开源框架。spring可以让我们只是用纯JavaBean来实现以前必须是EJB才能实现的功能。当然,spring并不只是用于服务器端的开发。

spring就是一个轻量级的DIAOP的框架。spring是非侵犯式的:使用了Spring的应用中的对象通常都不回依赖于spring特定的类。

DIspring使用DI来实现松耦合。和JNDI相反,对象不会去查询依赖性而是被动地被赋予依赖性。

spring是一个容器,它可以包含和管理应用对象的生命周期和配置。在spring中,你可以声明你的应用对象以何种方式被创建,被管理以及如何相互联系。

spring中应用对象以声明的方式被组合在一起,通常是放入xml文件中。另外,spring还提供了很多基础性的功能(例如,事务管理,持久性框架集等)

所有的模块都是搭建在Core这个容器之上。Core容器定义了javabean被创建、配置、管理的方式,而这些基本上是spring的主要组成部分。


Core容器

包含BeanFactory——它是最基本的spring容器,也是springDI的基础。

Application Context模块

因为它,spring可以被称之为框架(framework)。这个模块扩展了BeanFactory的概念,添加了对国际化(i18n)消息,应用周期事件和验证机制的支持。该模块还提供了许多企业级的服务,如,EmailJNDI访问,EJB集成,远程访问和调度。它还可以提供了与其他模板框架的集成功能。

AOP模块

该模块提供了一些方法来构建切片。

JDBC抽象层和DAO模块

SpringJDBCDAO模块抽取出了一般JDBC是要用到的样本代码,开发人员不必重新实现它们。该模块还完善了错误消息机制,使定位问题更加容易。另外,这个模块使用AOP模块提供了对象的事务管理方面的服务。

对象关系映射(ORM)集成模块

提供了一些钩子(hook)来实现与主流ORM框架(Hibernate)的集成。Spring的事务管理和支持JDBC一样支持每个ORM框架。

Java管理扩展(JMX)SpringJMX模块帮助开发人员开发JMX MBean,另外还可以监控和重配置一个处于运行状态的应用程序。

JCA模块

JCA可以整合包含主机和数据库在内的企业信息系统中的各种企业应用。SpringJCA和它的JDBC模块相似,它抽取出JCA中样本代码封装成模板供开发人员使用。

MVC框架

提供了与主流MVC框架(Struts)的支持,当然它也有自己的MVC框架。

Portlet MVC

提供了一组控制器来支持Java portletAPI

Web模块

Web模块分别提供了对Spring MVCSpring Portlet MVC的支持。该模块提供了对于面向web任务的支持以及对StrutsJSF的支持。

Remoting模块

Remoting模块允许java对象作为远程对象来使用,就像本地的Pojo一样。

JMS模块

Remoting依赖于网络的稳定。面向消息的通讯更加可靠。JMS模块发送消息给JMS消息队列。同时消息队列创建可以处理异步消息的消息驱动POJO

 

尽管spring包含很多东西,但它总是尽量避免去实现那些已有的东西。例如,spring并不会去实现一个持久化框架,相反,它提供了与其他框架的集成功能。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值