spring技术--IOC控制反转课件.ppt
文本预览下载声明
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
显示全部