一共8个类,撸一个IOC容器。当然,我们是很轻量级的,但能够满足基本需求。想想典型的 Spring 项目,是不是就是各种Service/DAO/Controller,大家互相注入,就组装成了我们的业务bean,然后再加上 Spring MVC,再往容器里一放,基本齐活。
我们这篇文章,就是要照着 spring 来撸一个 相当简单的 IOC 容器,这个容器可以完成以下功能:
1、在 xml 配置文件里配置 bean 的扫描路径,语法目前只支持 component-scan,但基本够用了;
2、Bean 用 Component 注解,bean 中属性可以用 Autowired 来进行自动注入。
3、可以解决循环依赖问题。
bean的长相,基本就是下面这样:
@Data @Component public class Girl { private String name = "catalina"; private String height; private String breast; private String legLength; private Boolean isPregnant; @Autowired private com.ckl.littlespring.Coder coder; }