移动商务应用软件开发第11章

上传人:ji****n 文档编号:54450032 上传时间:2018-09-13 格式:PPT 页数:31 大小:1.57MB
返回 下载 相关 举报
移动商务应用软件开发第11章_第1页
第1页 / 共31页
移动商务应用软件开发第11章_第2页
第2页 / 共31页
移动商务应用软件开发第11章_第3页
第3页 / 共31页
移动商务应用软件开发第11章_第4页
第4页 / 共31页
移动商务应用软件开发第11章_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《移动商务应用软件开发第11章》由会员分享,可在线阅读,更多相关《移动商务应用软件开发第11章(31页珍藏版)》请在金锄头文库上搜索。

1、移动商务应用软件开发 JavaEE,课 程 目 标,掌握JavaEE概念及开发环境的设置熟练使用Jsp和Servlet完成简单的网站建设掌握Struts和Struts2的原理及应用熟练使用Hibernate完成数据持久化理解并掌握JPA的产生和作用掌握Spring框架的使用,熟练完成SSH框架的整合掌握EJB概念及使用,第 11 章 Spring框架简介,本章 目 标,明白Spring的作用和定位,理解控制翻转和依赖注入的功能原理,掌握通过MyEclipse实现简单的Spring应用,理解和掌握Spring的七层结构,了解Spring各部分JAR文件的功能,Spring框架,Spring是一个

2、开源框架,它的目的是为了简化企业级系统开发而诞生的Spring从小里说,是个容器,往大里说,就是个框架Spring是轻量级的,它的Jar包只有1M多一点,而且,它是非侵入式的:你一般不需要在你的类里import它的包,Spring框架,Spring是一个轻量级的控制反转和面向切面的容器类框架 面向切面编程,就是分离业务逻辑与系统级服务进行内聚性的开发 ,既应用对象的功能具有很强的针对性,Spring框架,Spring的特色及优点占用的资源较少Spring的控制反转机制面向切面的编程Spring也可以看成一个容器,Spring结构,AOP模块 Spring AOP 和 AspectJ,Web F

3、ramework模块Spring Struts WebWork JSF,O/R映射模块 Hibernate、JDO,Web模块和工具模块,DAO JDBC模块,Application Context模块,Core Container(核心容器) IOC容器,Spring结构,IOC核心容器:为Spring提供了基础功能;这个模块中BeanFactory这个类,是所有基于Spring框架系统的核心JDBC和DAO模块:编写持久层代码的时候,总要写一些模板代码,Spring将这些样板代码抽象出来AOP模块:用来为Spring应用系统开发切面的基础;Spring的AOP大部分都是基于AOP Alli

4、ance的API开发的,Spring结构,Application Context(上下文)模块,这个模块对BeanFactory进行了扩展,添加了I18N、系统生命周期事件以及验证等。另外还提供了许多企业级服务ORM映射集成模块,它的作用是在关系型数据库和对象之间作一个映射MVC模块为构建Web应用提供了一个功能全面的MVC框架,Spring常用JAR文件,Spring简单应用,Spring的JAR文件导入 可以直接导入spring.jar,其包括了Spring所具有的所有功能 还可以根据所需要的功能导入相应的JAR文件创建实体类 一般要求该类应该实现Serializable接口 要有无参的构

5、造函数 类中的属性一定要有标准的getXXX()和setXXX()方法创建相关的DAO类完成 配置相应的XML文件,Spring 配置文件,张三,Spring的容器,容器是Spring的核心,Spring有两种不同的容器Bean工厂 ( org.springframework.beans.factory.BeanFactory)是最简单的容器(是Spring基本的IOC容器),提供了基础的依赖注入支持应用上下文( org.springframework.context.ApplicationContext)建立在Bean工厂基础之上,提供了系统构架服务,BeanFactory,BeanFact

6、ory( Bean工厂)是Spring基本的IOC容器Bean工厂采用了工厂设计模式,这个类负责创建和分发Bean;Bean工厂是一个通用工厂,可以创建和分发各种BeanBean工厂还要参与到Bean的生命周期中,调用用户定义的初始化和销毁方法,BeanFactory,Bean是被延迟加载到工厂中的,也就是Bean工厂会立即把Bean定义信息载入近来,但是Bean只有在被需要的时候才被实例化使用getBean方法获得Bean XXXBean bean=(XXXBean)factory.getBean(“xxxBean”);,BeanFactory实例获取方式,Resource resource

7、 = new FileSystemResource(“applicationContext.xml “); BeanFactory factory = new XmlBeanFactory(resource);或者 ClassPathResource resource = new ClassPathResource(“applicationContext.xml “); BeanFactory factory = new XmlBeanFactory(resource);或者 ApplicationContext context = new ClassPathXmlApplicationCon

8、text(new String “applicationContext.xml“,“applicationContext-part2.xml“); BeanFactory factory = (BeanFactory) context;,BeanFactory的主要方法,boolean containsBean(String):如果BeanFactory包含给定名称的bean定义(或bean实例),则返回trueObject getBean(String):返回以给定名字注册的bean实例Object getBean(String, Class):返回以给定名称注册的bean实例,并转换为给定

9、class类型的实例Class getType(String name):返回给定名称的bean的Classboolean isSingleton(String):判断给定名称的bean定义(或bean实例)是否为singleton模式,高级容器应用上下文,ApplicationContext接口是context包的核心,它由BeanFactory接口派生而来ApplicationContext提供了更多功能: 文本信息解析工具,国际化应用 资源访问 事件传播 载入多个上下文文件,上下文实例的获取方式,ApplicationContext实例的三种常用获取方式 ClassPathXmlAppl

10、icationContext FileSystemXmlApplicationContext XmlWebApplicationContextApplicationContext context=new ClasspathXmlApplicationContext(new String“beans.xml”, “applicationContext.xml”);classPathXmlApplicationContext(“beans.xml”);FileSystemXmlApplicationContext(“d:/SpringTest/applicationContext.xml”);,S

11、pring内置事件,Spring中Bean生命周期,容器寻找Bean的定义信息并将其实例化使用依赖注入如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法如果Bean实现了BeanFactoryAware接口,工厂调用setBeanFactory()方法如果有BeanPostProcessor和Bean关联,那么它们的postProcessBeforeInitialzation()方法被调用,Spring中Bean生命周期,如果Bean指定了init-method方法,他将被调用如果有BeanPostProcessor和Bean关联,那么它们的po

12、stProcessorAfterInitialization()方法被调用Bean已经实例化出来了,可以被应用使用了如果Bean实现了DisposableBean接口,destroy()方法被调用如果指定了定制的销毁方法,就调用这个方法,Spring IOC,Spring提供了管理业务对象的一致方法,并且鼓励面向切面编程的良好习惯优点:在调用类中不直接实例化实现类,同时借助动态多态性实现对实现类中的方法调用。因此,纵然实现类发生变化,调用代码仍然可以不需要修改。这样给系统的维护与功能的扩展带来便利,降低对象之间的耦合度或子系统之间的耦合度利用spirng的IOC可以将接口和实现分离,具有更强的

13、适用性,Spring依赖注入,依赖注入DI(Dependency Injection )可以作为IOC的另一种描述依赖注入的目标并非为软件系统带来更多的功能,而是为了提升“组件重用”的概率,同时也为系统搭建一个灵活、可扩展的平台DI的使用提高了组件的可移植性和可重用度;减轻了组件之间的依赖关系-这也是J2EE平台倡导“松藕合”的系统开发要求,Spring依赖方式,Spring提供的三种不同的依赖注入的方式Constructor(构造器)注入:是指把对象依赖的实体作为对象构造器的参数传入完成对象的实例化Setter(属性值)注入:将对象的依赖通过JavaBean的setter方法传给对象,建立对

14、象之间的关联关系interface(接口)注入:通过接口注入方式,开发人员可以将方法直接注入给一个类,Setter(属性值)注入,用Setter方式为Person类注入具体数值张三北京市25,Construtor(构造器)注入方式,Spring AOP技术,AOP(Aspect Oriented Programming),既面向切面编程的技术AOP基于IOC基础,是对面向对象编程的有益补充。IOC容器并不依赖于AOP,而AOP进一步完善了Spring的IOC容器AOP将应用系统分为两部分,核心业务逻辑(Core business concerns)及横向的通用逻辑,也就是所谓的切面(Cross

15、cutting enterprise concerns),AOP主要概念,切面(Aspect):一个关注点的模块化,这个关注点实现可能另外横切多个对象。事务管理是J2EE应用中一个很好的横切关注点例子。方面用Spring的Advisor或拦截器实现连接点(Joinpoint):程序执行过程中明确的点,如方法的调用或特定的异常被抛出通知(Advice):在特定的连接点,AOP框架执行的动作。各种类型的通知包括“around”、“before”和“throws”通知。通知类型将在下面讨论。许多AOP框架包括Spring都是以拦截器做通知模型,维护一个“围绕”连接点的拦截器链切入点(Pointcut

16、):指定一个通知将被引发的一系列连接点的集合。AOP框架必须允许开发者指定切入点,例如,使用正则表达式,AOP主要概念,引入(Introduction):添加方法或字段到被通知的类。Spring允许引入新的接口到任何被通知的对象目标对象(Target Object):包含连接点的对象,也被称作被通知或被代理对象AOP代理(AOP Proxy):AOP框架创建的对象,包含通知。在Spring中,AOP代理可以是JDK动态代理或CGLIB代理编织(Weaving):组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样,在运行时完成织入,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号