spring技术--IOC控制反转课件.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
spring技术--IOC控制反转课件

Spring技术 --IOC(控制反转) 工厂模式 在面向对象的编程中,工厂模式是一种经常被使用到的模式。根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。 X-----Person Xy---Chinese Xz---American 工厂类---PersonFactory 返回的究竟是Xy还是Xz的实例并不重要,因为它们有相同的方法,只不过这些方法的内部实现不同罢了。 ApplicationContext context = new FileSystemXmlApplicationContext(src/org/test/applicationContext.xml); Person p = (Chese)context.getBean(chese); System.out.println(p.sayGoodBye(rose)); System.out.println(p.sayHello(rose)); 容器 ? 为组件提供运行环境 ? 提供底层服务,包括事务,生命周期管理等     IOC简介 IOC简介 IOC简介 ? 控制反转:Inversion of Control ? 依赖注入:Dependency Injection      IOC特点     IoC的优点 ? 不必关心组件的创建 ? 不必管理组件的生命周期 ? 组件容易共享 ? 测试非常容易     IOC容器     IOC容器    如何使用IoC? ? 选择一个IoC容器:Spring IoC容器 ? 告诉Spring如何管理Bean:编写XML配置文件   Spring提供IoC容器 ? BeanFactory ? ApplicationContext   Spring提供IoC容器   Spring提供IoC容器   Spring提供IoC容器   Spring提供IoC容器    Bean的生命周期 定义 JavaBean JavaBean实例的初始化,即通过IOC注入其依赖性 基于Spring应用对JavaBean实例的使用 IOC容器销毁JavaBean实例    Bean的生命周期 Bean的定义 一般情况下我们都是通过spring的配置xml文件的bean标记来定义的 Bean的初始化 在spring中初始化一般为两种方法实现 1、在配置文档中指定init-method属性 2、实现 org.springframework.beans.factory.InitializingBean接口 如果实现了上述接口,则会在BeanFactory把所有Bean属性设置 后,调用afterPropertiesSet()方法 Bean的使用 在spring中Bean的使用分为三种方式 一 使用BeanWapper 二 使用BeanFactory 三 使用ApplicationContext    Bean的销毁 ? 调用DisposableBean接口的destroy()方法 ? 调用指定的destroy-method方法    依赖注入 一个例子: 一个人需要一把斧子. 模型: 调用者: 人 被调用者:斧子    依赖注入 三种方式实现: 一 原始社会:调用者自己创建被调用者 二 工业社会:调用者向工厂要被调用者 三 共产主义社会:被调用者主动送上门   依赖注入的方式 ? 构造方法注入 ? 设置属性注入 设值注入 设值注入:指通过setter方法传入被调用者的实例。 public class Chinese implements Person { private Axe axe; public Axe getAxe() { return axe; } public void setAxe(Axe axe) { this.axe = axe; } public void useAxe() { axe.chop(); } } 设值注入 bean id=chinese class=org.spring.Chinese abstract

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档