第八章 spring 框架优势、核心概念、核心容器、数据访问/集成 、web、 其它重要模块

spring

1、概述:spring是最受欢迎的轻量级的企业级java应用开发框架;

spring框架的核心特性可以用于开发任何java应用程序,但在javaEE平台上构建web应用程序是需要扩展的。

spring框架目标是使J2EE开发变得更容易使用,通过启用基于poJo编程模型来促进良好的编程实践。

2、使用spring框架优势
一、轻量级的IOC容器
二、一致的事物管理
三、面向切面编程(AOP)

核心概念

①、依赖注入(DI):当编写一个复杂的java应用程序时,应用程序类应该尽可能的独立于其他的java类来增加这些类重用可能性,当进行单元测试时,可以使它们独立于其它类进行测试。依赖注入(或者有时候被称为配线)有助于将这些类粘合在一起,并且在同一时间让它们保存独立。

依赖注入实现的三种方式:构造函数注入、setting方法注入、注解注入。

②、面向切面的程序设计(AOP)
一个编程中跨越多个点的功能被称为横切关注点,这些横切关注点在概念上独立于应用程序的业务逻辑。有各种各样常见的很好的关于方面的例子,比如:日志记录、声明性事务、安全性和缓存等等。在OOP中模块的关键单元是类,而在AOP中模块化的关键单元是方面。AOP帮助你将横切关注点从他们所影响的对象中分离出来,然而依赖注入帮助你将你的应用程序对象从彼此中分离出来。
spring框架的AOP模块提供了面向方面的程序设计实现,允许你定义拦截器方法和切入点,可以实现将应用该被分开的代码干净的分开功能。

核心容器

核心容器由核心,Bean、上下文和表达式语言模块组成,他们包括:
1、核心模块提供了框架的基本组成部分,包括IOC和依赖注入功能。
2、Bean模块提供BeanFactory它是一个工厂模式的复杂实现。
3、上下文模块建立在核心和Bean模块提供的坚实基础上,它是访问定义和配置的任何对象的媒介。ApplicationContext接口是上下文模块的重点。
4、表达式语言模块在运行时提供了查询和操作一个对象用的强大的表达式语言。

数据访问/集成

数据访问/集成包括JDBC,ORM,OXM,JMS和事务处理模块包括:
1、JDBC模块提供了删除余下的JDBC相关编码的JDBC抽象层。
2、ORM模块为流行的对象关系映射APZ,包括JPA,JOO,Hibernate和iBatis,提供了集成层。
3、OXM模块提供了抽象层,它支持对JAXB,Castor,xmlBeans,JiBX和xstr的对象/xml实现映射。
4、java消息服务JMS模块包括生产和消费的信息的功能。
5、事务模块为实现特殊接口的类及所有的POJO支持编程式和声明或更多管理。

web

web层由web、web-mvc、web-cket和web-PortLet组成
1、web模块提供了基本面向web的集成功能,例如多个文件上传的功能和使用servlet监听器和面向web应用程序的上下文来初始化IOL容器。
2、web-mvc模块包含spring模块-视图-控制器(mvc),实现了web应用程序。
3、web-cket模块为websocket-based提供了支持,而且在web应用程序中提供了客户端和服务器端之间通信的两种方法。
4、web-portlet模块提供了在portlet环境中实现了mvc0,并且反映了web-servlet模块的功能。

其它重要模块

1、AOP模块提供了面向方面的编程实现,允许你定义方法
2、拦截器和切入点对代码进行干净的解耦,它实现了应该分离的功能。
3、Aspects模块提供了与Aspects的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架。
4、lnstrumentation模块在一定的应用服务器中提供了类lnstrumentation的支持和类加载器的实现。
5、messaging模块为sTomP提供了支持在应用程序中web socketf协议的使用,它也支持一个注解编程模型,它是为了选路和处理来自websocket客户端的stomp信息。
6、测试模块支持对且有junit或testnc框架的spring组件的测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值