




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第1章章 spring+ioc课程地位课程地位课程目标课程目标学习内容spring原理spring ioc/dispring aopspring整合hibernatespring整合hibernate+struts学习目标掌握spring基本原理能够使用spring的依赖注入方式能够使用spring面向切面编程掌握spring整合hibernate的应用掌握ssh整合的应用实战项目综合项目:使用ssh整合开发网上书店本章内容本章内容了解spring的背景了解spring的工作原理beanfactory接口applicationcontext 接口依赖注入方式本章目标本章目标熟悉spring的
2、工作原理 理解beanfactory和applicationcontext 掌握设值注入 掌握构造注入 1. spring简介简介 spring的基础架构起源于2000年早期,它是rod johnson在一些成功的商业项目中构建的基础设施在2002后期,rod johnson发布了expert one-on-one j2ee design and development一书 2003年2月spring框架正式成为一个开源项目,并发布于sourceforge中spring的不存在竞争对手,因为它能够整合其他的框架或者中间件,例如:struts,jsf1.1 spring历史1.2 spring工
3、作原理工作原理 spring是一种用javabean配置应用程序的方法运用spring,可以通过一个setter方法来暴露一个类的任何依赖关系(如一个数据库连接),只要在spring中进行配置来解决依赖性,不用编写一个数据库连接spring的表现在:高层模型组建不该依赖底层模型组建,而是模型组建必须依赖抽象实现必须依赖抽象,而不是抽象依赖实现应用程序不依赖与容器1.3 spring框架简介框架简介spring框架开源框架用于解决企业应用程序开发复杂性一个轻量级的ioc和aop容器框架一个解决了许多在j2ee开发中常见的问题的强大框架spring框架简介框架简介spring框架有7个模块, 每个
4、模块都可以单独存在,或者与其他一个或多个模块联合实现2. spring bean封装机制封装机制 spring以bean的方式管理所有的组件,j2ee的全部组件都被视为bean管理spring负责创建bean的实例,并管理其生命周期bean在spring的容器中运行,无须知道spring容器的存在也可以使用spring的一些特性2.1 spring bean的定义 spring bean封装机制封装机制 最简单的spring xml配置文件 定义bean管理实体对象2.2 beanfactorybeanfactory由org.springframework.beans.factory.bean
5、factory接口定义 beanfactory是工厂模式(factory pattern)的实现,负责创建和管理beanbeanfactorybeanfactory接口包含以下基本方法containsbean(string name)getbean(string name)getbean(string name,class class)gettype(string name)2.3 applicationcontextapplicationcontext是基于beanfactory之上的,提供了应用程序框架服务,扩展的新功能如下提供国际化的支持资源访问,如url和文件 事件传递载入多个配置文件
6、等applicationcontext按照指定路径下的applicationcontext.xml和bean.xml创建applicationcontextbeanfactory beanfactory = new filesystemxmlapplicationcontext(new string/webroot/web-inf/classes/applicationcontext.xml,/webroot/web-inf/classes/bean.xml);applicationcontext搜索classpath路径,以classpath路径下的applicationcontext.xm
7、l和bean.xml创建applicationcontextbeanfactory beanfactory = new classpathxmlapplicationcontext(new stringapplicationcontext.xml,bean.xml); 2.4 bean的基本行为和应用的基本行为和应用bean在spring的容器有两种基本行为singleton:单态,spring容器里只有一个共享的实例存在 non-singleton 或 prototype:原型 ,每次请求id的bean都将产生新的实例 bean的基本行为和应用的基本行为和应用按照singleton,配置文件
8、定义一个数据源的bean bean的基本行为和应用的基本行为和应用测试该数据源是否为singleton的方法 testpublic void testdatasource() throws sqlexception /获得数据源datasource ds1 = (datasource)ctx.getbean(datasource);datasource ds2 = (datasource)ctx.getbean(datasource);system.out.println(ds1 = ds2);测试结果为:truebean的基本行为和应用的基本行为和应用按照non-singleton,配置文件
9、定义一个实体对象的bean prototype表示原型bean的基本行为和应用的基本行为和应用测试该对象是否为non-singleton测试结果为:falsetestpublic void testsingleton() throws sqlexception propertiesbean propertiesbean1 = (propertiesbean)beanfactory.getbean(probean);propertiesbean propertiesbean2 = (propertiesbean)beanfactory.getbean(probean);system.out.pr
10、intln(propertiesbean1 = propertiesbean2);3. spring di/ioc 依赖注入,是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入3.1 什么是spring的依赖注入 3. spring di/ioc 实体对象间的依赖关系的演变过程传统调用方式工厂模式依赖注入3.2 spring的设值注入方式的设值注入方式 设值注入是指通过setter方法传入被调用者的实例被调用者实体对象public class boy private string name = 小明;private int age = 20;/省略
11、get、set方法public void print()system.out.println(我的名字是:+name);system.out.println(我的年龄是:+age);spring的设值注入方式的设值注入方式 调用者实体对象public class girl private string name = ;private int age = 0;/定义boy对象private boy boy ;/定义boy对象的set方法public void setboy(boy boy) this.boy = boy;/省略get、set方法public void kiss()boy.prin
12、t();通过setter方法注入spring的设值注入方式的设值注入方式 映射文件 等价于spring的设值注入方式的设值注入方式 增加被调用者实体对象public class boy private string name = “小李;private int age = 30;/省略get、set方法public void print()system.out.println(我的名字是:+name);system.out.println(我的年龄是:+age);spring的设值注入方式的设值注入方式 修改映射文件如下,将新的实体对象注入给调用者3.3 spring的构造注入方式的构造注入方
13、式 构造注入是指通过构造方法完成依赖关系的注入被调用者实体对象public class boy private string name = 小明;private int age = 20;/省略get、set方法public void print()system.out.println(我的名字是:+name);system.out.println(我的年龄是:+age);spring的构造注入方式的构造注入方式 调用者实体对象public class girl private string name = ;private int age = 0;/定义boy对象private boy boy ;public girl()public girl(boy boy)this.boy = boy;/省略get、set方法public void kiss()boy.print();通过构造方法注入spring的构造注入方式的构造注入方式 映射文件等价于3.4 spring注入方式的比较注入方式的比较 设值注入的优点
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 21786-2025化学品细菌回复突变试验方法
- 中国希蒙得木油项目投资计划书
- 中国甲基丙二酸二乙酯项目投资计划书
- 2025年中国纳米陶瓷涂料项目创业计划书
- 中国熔剂油项目创业投资方案
- 乌海市人民医院脑血管畸形栓塞治疗技术考核
- 忻州市中医院腰椎间盘突出症手术技术考核
- 赤峰市人民医院介入治疗护理配合考核
- 哈尔滨市中医院住院医师科研能力考核
- 唐山市中医院护理管理体系规划考核
- 慢性肾炎课件
- 「东北大板」怎么红起来的
- midas分析设计原理
- 保险金信托基础知识课件
- 特种设备风险分级管控清单(起重机)
- 医师多点执业劳务协议书(参考格式)
- QC080000有害物质管理评审报告
- 10000中国普通人名大全
- USP31-621色谱法-中文译稿
- 妊娠期糖尿病运动指导课件
- 清洁生产PPT课件
评论
0/150
提交评论