第13题(2023/9/18)
如何实现一个IOC容器,请简述一下简单思路?
答:
1、配置文件配置包扫描路径
配置文件指定需要扫描的包路径
定义一些注解,分别表示访问控制层,业务层,数据持久层,依赖注入注解,获取配置文件注解
2、递归扫描获取.class文件
从配置文件中获取需要扫描的包路径,获取当前路径下的文件信息和文件夹信息,将所有以.class结尾的文件添加到一个Set集合存储
3、反射,确定需要交给IOC管理的类
遍历 set集合,获取类中有指定注解的类,并将其将给IOC容器,定义一个安全的Map来存储这些对象
4、对需要注入的类进行依赖注入
遍历IOC容器,获取一个类的实例,判断里面是否有依赖其他类的实例,然后进行递归注入