



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一 Spring的作用 1 帮助我们产生对象2 帮助我们管理对象3 帮助我们管理对象之间的关系二 Spring配置文件的读取方式(1)ApplicationContext 1ApplicationContext ac = new FileSystemXmlApplicationContext(src/applicationContext.xml);2ApplicationContext ac = new ClassPathXmlApplicationContext(applicationContext.xml);(2)BeanFactory1Resource rs = new FileSystemResource(src/applicationContext.xml); BeanFactory factory = new XmlBeanFactory(rs);2Resource rs = new ClassPathResource(spring.xml);BeanFactory factory=new XmlBeanFactory(rs);三 Spring 读取多个配置文件1String xmls = new String“spring1.xml”,”spring2.xml”,”spring3.xml”;ApplicationContext context = new ClassPathXmlApplicationContext(xmls);2使用通配符spring1.xml spring2.xml spring3.xmlApplicationContext context = new ClassPathXmlApplicationContext(“spring*.xml”);3 四 Bean实例的创建方式1使用类的无参数构造方法构造 该方式要求在开发类的时候类一定要有无参数的构造方法。2使用静态工厂实例化 Public class UserServiceFactotypublic static UserService createService()return new UserService();3使用实例工厂方法实例化Public class UserServiceFactorypublic UserService createService()return new UserService(); 五 Spring 依赖注入的三种方式1接口注入2Setter注入注入属性xx时,必须要有对应的setXx()方法,在property标签中,如果是基本类型或者是String类型 用value标签,如果是引用其他的类类型用ref标签,如果是其他特殊类型如List,Map,Property等用以下方式:1:List public class HelloWorld /定义一个List变量msg List msg=null; public void setMsg(List msg) this.msg = msg; xml文件: Hello World!Hello World2!2: set public class HelloWorld /定义一个Set变量msg Set msg=null; public void setMsg(Set msg) this.msg = msg; xml文件: Hello World!Hello World2!3: map public class HelloWorld /定义一个Map变量msg Map msg=null; public void setMsg(Map msg) this.msg = msg; xml文件: Hello World!Hello World2!4:Properties public class HelloWorld /定义一个properties变量msg Properties msg; public void setMsg(Properties msg) this.msg = msg; xml文件: Hello World!Hello World2!3构造注入六 Spring 实例的延迟加载默认情况下容器启动时初始化bean,但我们可以指定bean节点的lazy-init=“true”来延迟加载,只有使用时初始化加载,例如如果所有的bean都想设置延迟加载,可以在根节点beans设置default-lazy-init=“true”,例如:七 Spring 单例模式默认Spring IOC容器每一个bean注入实例都是同一个实例设置每次实例是新实例(scope=“prototype”)八 Spring的代理机制1 静态代理代理对象的一个接口只服务于一种类的对象,而且如果要代理的方法很多,我们势必要为每个方法进行代理,静态代理在程序規模稍大時就必定无法胜任.2 动态代理1 Jdk动态代理Java在JDK 1.3之后加入协助开发动态代理功能的类,我們不必为特定对象与方法写特定的代理,使用动态代理,可以使得一个handler服务于各个对象,首先,一個handler必须实现java.lang.reflect.InvocationHandler3 CGLib动态代理当代理对象没有实现接口,我们就可以 使用CGLIB生成代理 ,需要我们使用 cglib-nodep-2.1_3.jar。我们编写CGlibProxyFactory实例 ,需要实现 MethodInterceptor 接口CGLIB可以生成目标类的子类,并重写父类非final修饰符的方法。4 JDK动态代理 : 需要代理的对象要实现接口,代理对象要实现 Invoc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习数据库环境中的有效评估方法试题及答案
- 数据库模块化设计的优势分析试题及答案
- 小学鼓乐教室管理制度
- 大地影院资金管理制度
- 学校桌椅使用管理制度
- 广播电视设备管理制度
- 员工违反公司管理制度
- 外协车辆使用管理制度
- 小学课堂分组管理制度
- 小学阳光课间管理制度
- 2023年安全制度-城市客运企业主要负责人和安全生产管理人员安全考核基础题库(城市轨道交通)考试历年真题(精准考点)带答案
- (完整)开发区土地集约利用评价规程(2014年度试行)(文档良心出品)
- 电解质第九讲(偶极子转向极化)
- 综合办公室安全职责
- 初中毕业证书怎么查询电子版
- 事业单位工作人员年度考核登记表
- 远程培训学习总结(4篇)
- 全息照相与信息光学实验报告
- 2022年02月上海铁路局下属铁路疾病预防控制所公开招聘毕业生笔试参考题库含答案解析
- YY/T 1293.4-2016接触性创面敷料第4部分:水胶体敷料
- 激光设备买卖合同模板(2篇)
评论
0/150
提交评论