ImageVerifierCode 换一换
格式:DOC , 页数:15 ,大小:241.45KB ,
资源ID:3543448      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3543448.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(spring笔记总结_sdh.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

spring笔记总结_sdh.doc

1、 spring 的快速入门案例 spring 是什么?struts 是 web 框架 (jsp/action/actionfrom)hibernate 是 orm 框架,处于持久层.spring 是容器框架,用于配置 bean,并维护 bean 之间关系的框架 spring 中有一个非常概念: bean (是 java 中的任何一种对象 javabean/service/action/数据源./dao, ioc(控制反转 inverse of control) di( dependency injection 依赖注入) 画一个框架图 快速入门开发一个 spring 项目.1. 引入 spri

2、ng 的开发包(最小配置 spring.jar 该包把常用的 jar 都包括, 还要 写日志包 common-logging.jar2. 创建 spring 的一个核心文件 applicationContext.xml, hibernate 有核心 hibernate.cfg.xml struts 核心文件 struts-config.xml, 该文件一般放在 src 目录下,该文件中引入 xsd 文件 :可以从给出的案例中拷贝一份.3. 配置 bean韩顺平4. 在 Test.java 中,我们怎么使用/我们现在使用 spring 来完成上面的任务/1.得到 spring 的 applica

3、tionContext 对象( 容器对象)ApplicationContext ac=new ClassPathXmlApplicationContext(“applicationContext.xml“);UserService us=(UserService) ac.getBean(“userService“);us.sayHello();5. 细节讨论?传统的方法和使用 spring 的方法5.1 使用 spring ,没有 new 对象,我们把创建对象的任务交给 spring 框架5.2 spring 的运行原理图:5.3 我们再看 spring 对上面案例总结:spring 实际上是

4、一个容器框架,可以配置各种 bean(action/service/domain/dao),并且可以维护bean 与 bean 的关系,当我们需要使用某个 bean 的时候,我们可以 getBean(id),使用即可.ioc 是什么?答 :ioc(inverse of controll ) 控制反转: 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到 spring 的容器(applicationContext.xml), 而程序本身不再维护.DI 是什么 ?答: di(dependency injection) 依赖注入 : 实际上 di 和 ioc 是

5、同一个概念,spring 设计者认为 di更准确表示 spring 核心技术 学习框架,最重要的就是学习各个配置.把 Applicationcontext 做成一个单例的.上机练习: 把我写的代码走一遍 . spring 开发提倡接口编程,配合 di 技术可以层与层的解耦举例说明:现在我们体验一下 spring 的 di 配合接口编程的,完成一个字母大小写转换的案例:思路:1. 创建一个接口 ChangeLetter2. 两个类实现接口3. 把对象配置到 spring 容器中4. 使用通过上面的案例,我们可以初步体会到 di 配合接口编程,的确可以减少层(web 层) 和 业务层的耦合度.思考

6、题:接口ValidateUser有一个方法:check(?)有两个类CheckUser1 implements ValidateUsercheck/ 安装 xml 验证CheckUser2 implements VallidateUsercheck()/ 到数据库去验证 从 ApplicationContex 应用上下文容器中获取 bean 和从 bean 工厂容器中获取 bean具体案例:/从 ApplicationContext 中取 beanApplicationContext ac=new ClassPathXmlApplicationContext(“com/hsp/ioc/bean

7、s.xml“);/当我们去实例化 beans.xml,该文件中配置的 bean 被实例(该 bean scope 是 singleton)从bean 中取出 student/如果我们使用 beanfactory 去获取 bean,当你只是实例化该容器, 那么/容器的 bean 不被实例化,只有当你去使用 getBean 某个 bean 时,才会实时的创建.BeanFactory factory = new XmlBeanFactory(new ClassPathResource(“com/hsp/ioc/beans.xml“);factory.getBean(“student“);结论: 1.

8、如果使用 ApplicationContext ,则配置的 bean 如果是 singlton 不管你用不用,都被实例化.(好处就是可以预先加载,缺点就是耗内存 )2.如果是 BeanFactory ,则当你获取 beanfacotry 时候,配置的 bean 不会被马上实例化,当你使用的时候,才被实例(好处节约内存 ,缺点就是速度)3.规定: 一般没有特殊要求,应当使用 ApplicatioContext 完成(90%) bean 的 scope 的细节入门案例:/获取两个 studentStudent s1=(Student) ac.getBean(“student“);Student s

9、2=(Student) ac.getBean(“student“);System.out.println(s1+“ “+s2); request session global-session 是在 web 开发中才有意义. 三种获取 ApplicationContext 对象引用的方法1. ClassPathXmlApplicationContext - 通过类路径2. FileSystemXmlApplicationContext - 通过文件路径举例:ApplicationContext ac=new FileSystemXmlApplicationContext(“文件路径 beans.

10、xml / applicationContext.xml“);3. XmlWebApplicationContext bean 的生命周期为什么总是一个生命周期当做一个重点?Servlet - servlet 生命周期 init() destory()java 对象生命周期.往往笔试,面试总喜欢问生命周期的问题 实例化(当我们的程序加载 beans.xml 文件),把我们的 bean(前提是 scope=singleton)实例化到内存 调用 set 方法设置属性 如果你实现了 bean 名字关注接口(BeanNameAware) 则,可以通过 setBeanName 获取 id号 如果你实现

11、了 bean 工厂关注接口,(BeanFactoryAware), 则可以获取 BeanFactory 如果你实现了 ApplicationContextAware 接口,则调用方法 /该方法传递 ApplicationContextpublic void setApplicationContext(ApplicationContext arg0)throws BeansException / TODO Auto-generated method stubSystem.out.println(“setApplicationContext“+arg0); 如果 bean 和 一个后置处理器关联,

12、则会自动去调用 Object postProcessBeforeInitialization 方法 如果你实现 InitializingBean 接口,则会调用 afterPropertiesSet 如果自己在 则可以在 bean 定义自己的初始化方法. 如果 bean 和 一个后置处理器关联,则会自动去调用 Object postProcessAfterInitialization方法 使用我们的 bean11. 容器关闭12. 可以通过实现 DisposableBean 接口来调用方法 destory13. 可以在 调用定制的销毁方法小结: 我们实际开发中往往,没有用的这么的过程 ,常见的

13、是:1-2-6-10-9-11 上机练习: 把使用每个 bean 的时间记录到一个 recoder.txt 文件 ,内容是xxbean. 使用时间是 : 1999-11-11 11:11:11问题:通过 BeanFactory 来获取 bean 对象,bean 的生命周期是否和 Applicationcontext 是一样吗?不是一样的,bean 是工厂中创建的生命周期会简单一些: 配置 bean 的细节 scope 的说明: 尽量使用 scope=”singleton” ,不要使用 prototype,因为这样对我们的性能影响较大. 如何给集合类型注入值.java 中主要的集合有几种: ma

14、p set list / 数组 Department 类:package com.hsp.collection;import java.util.List;import java.util.Map;import java.util.Set;public class Department private String name;private String empName;private List empList;private Set empsets;private Map empMaps;public Set getEmpsets() return empsets;public void s

15、etEmpsets(Set empsets) this.empsets = empsets;public String getEmpName() return empName;public void setEmpName(String empName) this.empName = empName;public String getName() return name;public void setName(String name) this.name = name;public List getEmpList() return empList;public void setEmpList(L

16、ist empList) this.empList = empList;public Map getEmpMaps() return empMaps;public void setEmpMaps(Map empMaps) this.empMaps = empMaps;/Employeel 类 package com.hsp.collection;public class Employee private String name;private int id;public int getId() return id;public void setId(int id) this.id = id;public String getName() return name;public void setName(String name) this.name = name;beans.xml 配置文件:小明小明小明小明小明小明小明【点 http 协议 referer 】abcdhello 内部 bean 继承配置public class Student public class Gradate extends Student在 beans.xml 文件中体现配置

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。