1.开发环境
- IDEA版本: 2022.1.4
- Maven版本:3.8.6
- Spring版本:6.0.2
2.案例分析
2.1 自定义Man类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200620171-1441633488.png)
2.2 自定义Company类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200643086-1249051441.png)
2.3 自定义CompanyTest类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200701538-279581951.png)
2.4 分析图
3.案例改进
- 此时Company类和Man类之间的耦合度比较高,若希望雇佣其它类取代Man类则需要修改Company类,这种修改违背了开闭原则,为了解决该问题,就可以将雇佣什么类的工作移交出去。
3.1 自定义Staff接口
3.2 修改Man类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200757073-701883047.png)
3.3 修改Company类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200817456-568091479.png)
3.4 修改CompanyTest类
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200835856-1870141668.png)
3.5 分析图
4.IOC概述
4.1 基本概念
- 此时雇佣什么类的控制权已经由业务代码反转给测试代码来决定,这种思想就是IOC(Inverse of Control),翻译过来就是控制反转,使用IOC不仅可以降低程序的耦合性,还可以管理对象的创建和对象之间的依赖等。
4.2 相关接口
- Sping框架提供IOC容器实现有两种方式:
- BeanFactory接口主要用于Spring内部使用,在加载配置文件时不会创建对象。
- ApplicationContext接口是BeanFactory接口的子接口,主要用于开发人员使用,在加载配置文件时就会创建对象。
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206201137478-793445212.png)
- ApplicationContext接口的主要实现类:
- FileSystemXmlApplicationContext类主要用于读取磁盘路径的配置文件并创建容器。
- ClassPathXmlApplicationContext类主要用于读取类路径的配置文件并创建容器。
4.3 案例实现
- 向pom.xml文件中增加Spring支持。
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206200951997-2017889013.png)
- 编写beans.xml文件。
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206201003515-731883651.png)
- 自定义CompanySpringTest类。
![](/i/l/?n=23&i=blog/3038036/202212/3038036-20221206201012979-1249554500.png)
更多精彩和源码欢迎关注微信公众号《格子衫007》!
标签:入门,自定义,Spring,Company,接口,IOC,配置文件 From: https://www.cnblogs.com/gezishan007/p/16960399.html