# 软件开发与管理-Spring-实现IOC_2 **Repository Path**: lu-xxuan/web-framework-spring_2 ## Basic Information - **Project Name**: 软件开发与管理-Spring-实现IOC_2 - **Description**: 作业6:实现IOC,作业7:装配Bean - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 446 - **Created**: 2023-06-23 - **Last Updated**: 2023-06-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 软件开发与管理 - spring #### 作业要求 基于Spring的Web开发-实现IOC 使用3种注入方法: 1.构造函数注入 2.属性注入 3.接口注入 #### 什么是IOC? IOC(Inversion of Control)即控制反转,是面向对象编程中的一种设计模式,它将程序的控制权从应用程序代码中转移到了外部容器中,使得容器可以负责对象的创建、配置、管理和销毁等任务,而不是由应用程序代码自己完成。 在Spring框架中,IOC是实现依赖注入(Dependency Injection)模式的核心思想,通过IOC容器来实现依赖对象的创建、配置和管理等工作,从而使得应用程序代码更加简洁、灵活、可维护。 在IOC模式中,应用程序代码不再直接创建和管理对象,而是通过IOC容器来管理对象的生命周期,同时IOC容器还会自动完成依赖注入的工作。这样,应用程序代码只需要依赖接口而不需要依赖具体实现,从而使得代码更加灵活可扩展。 总之,IOC是一种将程序控制权转移到外部容器中的设计模式,通过IOC容器实现对象的创建、配置、管理和销毁等任务,从而实现依赖注入,使得应用程序代码更加简洁、灵活、可维护。在Spring框架中,IOC是实现依赖注入的核心思想。 #### 实体类/接口的简介 MoAttack :代表《墨攻》剧本;方法:cityGateAsk(),即就是城门叩问剧情。 GeLi:剧本中的角色“革离”;方法:responseAsk(),回答问题。 LiuDeHua:“革离”的饰演者。 Directer:代表剧本的导演,负责剧本、角色、饰演者三者的协调控制。 #### 思想 ##### 构造函数注入 通过构造函数注入革离的饰演者,MoAttack 的构造函数不关心具体由谁来饰演革离这个角色。只要在构造方法传入的饰演者按剧本要求完成相应的表演即可,角色的具体饰演者由导演来安排。 ##### 属性注入 在剧情中,虽然革离是主角,但并不是每个场景都会出现,因此用“构造函数”的注入方式不太合适。因此可以考虑使用“属性”注入的方式。这样,只有当调用setGeLi方法时,革离才会出现。 ##### 接口注入 声明ActorArrangable接口,而MoAttack实现了该接口及方法injectGeli(),最终Directert通过ActorArrangable的injectGeli方法完成了饰演者的注入工作。 #### 参考资料 1.《精通Spring 4.x企业应用开发实战》 2.网络博客