第四章+详谈bean的装配_第1页
第四章+详谈bean的装配_第2页
第四章+详谈bean的装配_第3页
第四章+详谈bean的装配_第4页
第四章+详谈bean的装配_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论