Spring容器IOC理解
周末没有出去耍就写写博客,记录当下自己的每个理解思路,过段时间回来看的时候估计又有需要修改的地方。
一直保持这个态度,今天就把Spring容器IOC的原理说说:
简单粗暴的理解Spring原理:Spring就是通过工厂+反射将我们的bean放到它的容器中的,当我们想用某个bean的时候,只需要调用getBean("beanId")方法。
Spring容器IOC的原理呢?
Spring容器的原理,其实就是通过解析xml文件,获取到用户配置的bean,然后通过反射将这些bean挨个放到集合中,然后对外提供一个getBean()方法,以便我们获得这些bean。
Spring容器核心思路步骤:
1、bean配置<bean id="user" class="
com.cn.bean.UserBean
" />
2、获取配置:String id=user; String className=com.cn.bean.UserBean
3、反射获取对象实例:Object o = Class.forName(className).newInstance();
4、把实例对象放在集合(容器中),同时暴露一个方法getBean(String beanId);
Spring容器实现肯定比这个复杂,但是我就喜欢把复杂问题简单化。但是麻雀虽小五脏俱全啊。