#containerx ##簡介 containerx是一款迷你型的bean容器,IoC框架。是做者學習了Spring源碼後,爲了進一步學習Spring原理而自行開發的框架。 極少使用其餘的第三方jar包。<br/><br/> 源碼位置:<br/> https://github.com/frank-liu-1/containerxgit
##用途 主要用於學習Spring/AOP原理 <br/> <b>核心開發者</b> Frank Liu(劉少明) 我的git https://github.com/frank-liu-1 <br/> 郵箱liushaomingdev@163.com <br/>github
##已經實現的功能框架
##示例demo Java代碼以下:學習
<pre><code> public class DemoApp { public static void main(String[] args) { XmlBeanFactory beanFactory = new XmlBeanFactory("beans.xml"); Person person = (Person)beanFactory.getBean("myPerson"); System.out.println("name=" + person.getName()); System.out.println("address=" + person.getAddress()); Person person1 = (Person)beanFactory.getBean("myPerson"); System.out.println("person=" + person); System.out.println("person1=" + person1); System.out.println("person == person1? " + (person == person1)); } } </pre></code>code
運行結果以下:xml
<pre><code> name=Frank Liu address=Shanghai,China(中國-上海) person=com.frank.containerx.demo.model.Person@33909752 person1=com.frank.containerx.demo.model.Person@33909752 person == person1? true </pre></code>開發
##框架原理 核心方法是<code>inject(Object bean, Map<String, Object> properties)</code><br/> 而其中最核心的一行代碼是get
<pre><code> method.invoke(bean, methodMap.get(methodName)); </pre></code>源碼