




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
L o g o Spring 主讲:温春水 时间安排 v3天 v第一天 Spring 基本概念(IOC) v第二天 AOP v第三天 Spring 整合Struts,Hibernate SSH 目标 v理解Spring 实现原理 v掌握Spring IOC,AOP v掌握Spring的基础配置和用法 v熟练使用SSH开发项目 主要内容 v Spring 概述 v Spring 整体结构 Spring实例 Spring核心概念介绍 控制反转(IOC) 依赖注入(DI) 集合对象注入等 Bean的管理 BeanFactory ApplicationContext Spring 在web中的使用 Spring 概述 v Spring是一个容器,它包含并且管理系统对象的生命周期 和配置。 在SSH项目中管理事务以及对象的注入. Spring 概述 v轻量级的 v灵活性 vRod Johnson Expert one-on-one J2EE Design and Development Spring 概述 vSpring是非侵入式的:基于Spring开发的系统 中的对象一般不依赖于Spring的类。 Spring整体介绍 Spring整体介绍 v组成 Spring 框架的每个模块(或组件)都可以单 独存在,或者与其他一个或多个模块联合实现 Spring实例 v 先看一个实例 Spring v配置文件 applicationContext.xml applicationContext v v v v v v testgooooooogle v v 函数调用 v ApplicationContext ctx=new v FileSystemXmlApplicationContext(“E:works pacespringProjectWebRootWEB- INFclassesapplicationContext.xml“); v SpringTest st =(SpringTest) ctx.getBean(“test1“); v System.out.println(st.getMessage(); 优点 v 组件间的依赖关系减少,极大改善了代码的可重用性。 v 不需要实现框架指定的接口,因此可以轻松的将组件从 Spring中脱离,甚至不需要任何修改 v Spring的依赖注入机制,可以在运行期为组件配置所需资 源,而无需在编写组件代码时就加以指定,从而在相当程度 上降低了组件之间的耦合。 核心容器 v核心容器提供 Spring 框架的基本功能。核心容器 的主要组件是 BeanFactory(ApplicationContext). vBeanFactory 使用控制反转 (IOC) 模式将应 用程序的配置和依赖性规范与实际的应用程序代码 分开。 Spring基本概念 vIOC Inverse Of Control vDI Dependence Injection vAOP 面向接口 面向抽象 IOC an DI vIOC IoC就是Inversion of Control,控制反转。在Java开发 中,IoC意味着将你设计好的类交给系统去控制,而不是 在你的类内部控制。这称为控制反转。 保存到Floppy或者USB IOC IOC and DI vMartin Fowler DI v依赖注入 所谓依赖注入,即在运行期由容器将依赖关系注入到组 件之中。 是在运行期,由Spring根据配置文件,将其他对象的引 用通过组件的提供的setter方法进行设定。 IOC和DI的关系 v通过DI来实现IOC / / / / /(struts) DI vType1 接口注入 vType2 设值注入 vType3构造子注入 type2 vsetter type3 vConstructor 实例 v看一下依赖注入的示例 属性参考 v 属性参考 v 自动绑定 v绑定的到底是什么? 某个对象是另外一个对象的属性 vAutowire byType byName Constructor autodetect byName v v byType v v 绑定发生异常怎么办? v如果有的属性没有完成自动绑定怎么办? v如果能帮我们检查就好了 dependency-check Simple: object all none 绑定发生异常 vsimple只检查简单的属性是否完成依赖关系,像 是原生(primitive)数据类型或字符串对象 vobject设定则检查对象类型的属性是否完成依赖关 系 vall则检查全部的属性是否完成依赖关系 vnone设定默认值,表示不检查依赖性 绑定发生异常 vorg.springframework.beans.factory.Uns atisfiedDependencyException: 注入的value v value v ref 集合对象注入 v数组(String) vList vSet vMap vProperties 数组,List,Set本质上是一样的 String v Hello World v v 注意:String使用list. List v v v HelloList v WorldList v v Map v map1Value map2Value v Properties v一般用在事务里面: prop1Value prop2Value prop3Value 集合的取值 v ApplicationContext context=new FileSystemXmlApplicationContext(“benas-config.xml“); SomeBean someBean=(SomeBean)context.getBean(“someBean“); v String strs=(String)someBean.getSomeStrArray(); Some somes=(Some)someBean.getSomeObjArray(); for(int i=0;i ApplicationContext vBeanFactory提供了针对Java Bean的管理功 能,而ApplicationContext提供了一个更为框 架化的实现 vApplicationContext覆盖了BeanFactory的 所有功能,并提供了更多的特性 v相对BeanFactory而言, ApplicationContext提供了以下扩展功能: ApplicationContext v国际化支持 v资源访问 v事件传播 国际化支持 v如何实现国际化 注意:把.properties文件放到class目录下 Step 1 v在applicationContext中加入 v v Spring Quick Start v v v v messages v v v v Step 2 v创建两个文件 messages_en_US.properties messages_zh_CN.properties userinfo=test20 time:1 Step 3 v Object arg = new Object v “Hello“, v Calendar.getInstance().getTime() v ; v String msg = ctx.getMessage(“userinfo“, arg, Locale.CHINA); v System.out.println(“Message is = “+msg); 资源访问 vApplicationContext.getResource方法提供 了对资源文件访问支持,如: vResource rs = ctx.getResource(“classpath:p erties“); vFile file = rs.getFile(); Resource.exists()来判断文件是否存在 事件传播 vApplicationContext基于Observer模式 PropertyPlaceholderConfigurer perties classpath:perties $che PropertyPlaceholderConfigurer v使用PropertyPlaceholderConfigurer类,需 经过以下3个步骤: 在applicationContext.xml中配置 v WEB- INF/perties 在perties中配置jdbc的链接参数 vjdbc.driverClassName=org.hsqldb.jdbc Driver jdbc.url=jdbc:hsqldb:hsql:/localhost:9 002 jdbc.username=sa jdbc.password= 注意 v如果不是web应用,可以把 applicationContext.xml放到项目的根目录 下,并把.properties文件也放到该目录下即可 。 在配置文件中引用参数 v $jdbc.driverClass Name $jdbc.url $jdbc.username $jdbc.password 其中$jdbc.url等参数引用了perties属性文件的 参数。 这样做的好处是可以将需要配置的属性参数集中在一个地方。 Spring在web中的应用 v如何在web应用中使用依赖注入 v注意要把applicationContext.xml放到WEB- INF下面. 第一步 v在web.xml中加入: contextConfigLocation /WEB-INF/applicationContext.xml 第二步 v在web.xml中 org.springframework.web.context.ContextLoaderListener 第三步 v在Servlet中: WebApplicationContext wac= WebApplicationContextUtils.g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年滁州来安县部分学校幼儿园选调教师87名考试参考试题及答案解析
- 2025年合肥一六八玫瑰园南校教育集团招聘备考练习题库及答案解析
- 2025四川乐山市沐川县沐溪镇向天坝社区招募高校毕业生(青年)见习人员1人考试参考试题及答案解析
- 2025年海南省水文水资源勘测局公开招聘事业编制工作人员4人备考练习题库及答案解析
- 2025江苏苏州市张家港星瑞辰咖啡有限公司紧急招聘1人考试参考试题及答案解析
- 2025年外星财神阅读题目及答案
- 碎石加工厂能效管理与节能减排方案
- 市政工程环境保护与治理方案
- 委托贷款代理合同4篇
- 2025西安市第三十八中学招聘考试参考试题及答案解析
- 学校保洁外包服务投标方案(技术方案)
- Pep小学英语六年级上册教案-全册
- 人教鄂教版六年级科学上册全册教学设计教案
- 关爱流浪小动物(教学设计)-2024-2025学年三年级上册综合实践活动教科版
- 2024年新高考试题分析及2025届备考策略建议课件
- 中东及非洲天然甜菊行业现状及发展机遇分析2024-2030
- 《山区公路桥梁典型病害手册(试行)》
- 临床中医适宜技术书
- 矿山生态环境保护与恢复治理技术规范(试行)(HJ 651-2013)
- 新译林版高一必修三单词表全套
- 现代智力七巧板课件
评论
0/150
提交评论