版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 在spring容器中拼凑bean叫做装配bean。装配 bean的时候,需要告诉容器哪些bean以及容器如 何使用依赖注入将他们配合在一起 XML是最常见的spring应用系统配置源。包括: XmlBeanFactory:调用ClassPathResource载 入上下文定义文件(比如beans.xml)。 ClassPathXmlApplicationContext:从类路径 载入上下文定义文件。 XmlWebApplicationContext:从Web应用 上下文中载入定义文件。 上下文定义文件的根元素是, 有 多个子元素。每个元素定义了一个 bean如何被装配到spring容器中。
2、对bean最基本的配置包 括bean的id和bean的全 称类名。 Scope:singleton、prototype、request、session、 global-session。 Spring中的bean缺省情况下是单例模式,始终返回一个 实例。若想返回不同的实例,需要定义成原型模式。 使用原型bean会对性能产生影响,尽量不要设置为 prototype,除非必要。 实例化与销毁:spring实例化bean或者销毁bean的时 候,有时候需要作一些处理工作,因此spring可以在创 建和拆卸bean的时候调用bean的两个生命周期方法。 实例化与销毁:spring也提供了两个接口来实现相
3、同的 功能。 InitializingBean和DisposableBean。 InitializingBean接口提供了一个afterPropertiesSet() 方法。 DisposableBean接口提供了destroy()方法。 不推荐使用该接口,它将你的bean和springAPI绑定在 一起。 通过set方法注入依赖: 元素的子元素指明了使用它们的 set方法来注入。可以注入任何东西,从基本类型到集合 类,甚至是应用系统的bean。 java中主要的集合有: map set list 数组 小明 大明 小小明 for(Entry entry1:department.getEmpm
4、ap().entrySet() System.out.println(entry1.getKey()+ +entry1.getValue().getName(); Set注入的缺点是无法清晰表达哪些属性是必须的, 哪些是可选的。构造注入的优势是通过构造的强制依 赖关系,不可能实例化不完全或无法使用的bean。 byName:寻找和属性名相同的bean,如果找不到就装不 上。 byType:寻找和属性类型相同的bean,找不到就装不上, 找到多个抛异常。 Constructor:寻找和bean的构造参数一致的一个或多个 bean,若找不到或找到多个抛异常,按照参数类型装配。 Autodetect
5、:(2)和(3)之间选一个。 Default: No:不自动装配,是autowire的默认值。 ApplicationContext ac=new ClassPathXmlApplicationContext(com/autowire/bean.xml); ApplicationContext ac=new ClassPathXmlApplicationContext(com/autowire/bean.xml); ox345 master name=“李四” dog=null ox123 dog name=小黄 age=“2 内存 ApplicationContext ac=new Clas
6、sPathXmlApplicationContext(com/autowire/bean.xml); ox345 master name=“李四” dog=null ox123 dog name=小黄 age=“2 内存 ApplicationContext ac=new ClassPathXmlApplicationContext(com/autowire/bean.xml); ox345 master name=“李四” dog=null ox123 dog11 name=小黄 age=“2 内存 将 dog通过构造函数传入 public Master(Dog dog) this.dog=
7、dog; ox345 master name=“李四” dog=null ox123 dog1 name=小黄 age=“2 内存 个人建议:尽量用set注入,自动装配能不用就不用。 实现了BeanPostProcessor的后置处理 器 PropertyPlaceholderConfigurer(分 散配置,将配置文件分成几个分散的文 件) 说明: 当通过 context:property-placeholder 引入 属 性文件的时候,有多个需要使用逗号间隔。 name=scott driver=oracle:jdbc:driver:oracleDirver url=jdbc:oracle:thin:127.0.0.1:1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建公务员面试模拟29
- 北京行政职业能力模拟67
- 2012年4月22日上午浙江省面试真题
- 24.4 解直角三角形 华师大版数学九年级上册教案
- 地方公务员西藏申论52
- 2024年房地产中介佣金协议正式
- 2024年全新60岁离婚协议书范文
- 河南面试模拟56
- 2024年停车场管理系统升级合同
- 2017年4月24日广州单考区公务员考试面试真题
- 陶瓷专利导航分析报告
- 第3课《美丽的川西高原》课件
- 供应室护理责任组长竞聘
- 《工法编写要求》课件
- 新婚避孕知识讲座
- 黄精加工项目可行性方案
- LTC与铁三角从线索到回款
- 《旅游市场营销》课程教学设计
- 外贸业务员负责外贸业务开展
- 课程思政理念下的高中历史教学设计研究
- 工会福利培训课件
评论
0/150
提交评论