- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- PLC输入输出接口测试系统设计.doc
- PMU同步相量测量装置原理及维护.ppt
- PNG 系统图标之La Nuit按钮.doc
- PLD课程设计报告-- 交通灯控制器设计.doc
- POE在塑料改性中的应用.doc
- PNG 系统图标之仿真木纹.doc
- POST 错误消息和蜂鸣代码.doc
- PostgreSQL学习笔记搭建了Postgres在Windows上的编译调试环境.doc
- PNG 系统图标之水晶文件夹.doc
- PowerBuilder中图像的动态显示.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)