spring深入源码1 简单实现ioc机制
用spring也有两年多了 最近一段时间一直在看框架的源代码 从连接池,tomcat到spring 从中学到最多的是代理模式,java反射,设计思想。
?
我们不但要知其然,还要知其所以然。“知其所以然”的最好办法就是下载源代码,仔细研读,揣摩并领会源代 码的精义,看看这些经过诸多高手修改的源代码究竟藏有什么玄机,我们能从其中学习到哪些设计思想及设计模式,代码架构如何等,我们从源代码中学习的东西太多了。
?
下面我根据spring源码 简单实现自己的依赖注入? 通过xml形式配置?? 在对象中获取xml文件 获取定义好的bean 从而对bean对应的class 实现实例化?? 使用接口形式
?
接口
?
??
?
下面模拟spring对xml配置的类进行实例化
?
存放属性的对象
public class SpringTest {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Test public void instanceSpring(){LeamClassPathXMLApplicationContext ctx = new ?LeamClassPathXMLApplicationContext("beans.xml");PersonService personService = (PersonService)ctx.getBean("personService");personService.save();}}?
?
?
最终输出 说明实例化成功
?
执行add()方法