├── .classpath ├── .project ├── README.md ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── lc │ │ ├── Resource │ │ ├── tinyioc.xml │ │ └── tinyioc.xml.bak │ │ └── spring │ │ ├── bean │ │ ├── AbstractBeanDefinitionReader.java │ │ ├── BeanDefinition.java │ │ ├── BeanDefinitionReader.java │ │ ├── BeanReference.java │ │ ├── PropertyValue.java │ │ └── PropertyValues.java │ │ ├── context │ │ ├── AbstractApplicationContext.java │ │ ├── ApplicationContext.java │ │ └── ClassPathXmlApplicationContext.java │ │ ├── factory │ │ ├── AbstractBeanFactory.java │ │ ├── AutoWireCapableBeanFactory.java │ │ └── BeanFactory.java │ │ ├── io │ │ ├── Resource.java │ │ ├── ResourceLoader.java │ │ └── UrlResource.java │ │ └── xml │ │ └── XmlBeanDefinitionReader.java └── webapp │ ├── WEB-INF │ └── web.xml │ └── index.jsp └── test ├── java ├── ApplicationContextTest.java ├── BeanFactoryTest.java ├── HelloWorldService.java ├── OutputService.java ├── XmlTest.java ├── io │ └── ResourceLoaderTest.java └── xml │ └── XmlBeanDefinitionReaderTest.java └── resources └── tinyioc.xml /.classpath: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/.classpath -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/.project -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MyIoC 2 | 模仿实现Spring的IoC容器 3 | 4 | # 项目整体架构图 5 | ![image](https://i.loli.net/2018/02/14/5a8453341295b.jpg) 6 | 7 | -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/lc/Resource/tinyioc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/Resource/tinyioc.xml -------------------------------------------------------------------------------- /src/main/java/com/lc/Resource/tinyioc.xml.bak: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/AbstractBeanDefinitionReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/AbstractBeanDefinitionReader.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/BeanDefinition.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/BeanDefinition.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/BeanDefinitionReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/BeanDefinitionReader.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/BeanReference.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/BeanReference.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/PropertyValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/PropertyValue.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/bean/PropertyValues.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/bean/PropertyValues.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/context/AbstractApplicationContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/context/AbstractApplicationContext.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/context/ApplicationContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/context/ApplicationContext.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/context/ClassPathXmlApplicationContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/context/ClassPathXmlApplicationContext.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/factory/AbstractBeanFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/factory/AbstractBeanFactory.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/factory/AutoWireCapableBeanFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/factory/AutoWireCapableBeanFactory.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/factory/BeanFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/factory/BeanFactory.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/io/Resource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/io/Resource.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/io/ResourceLoader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/io/ResourceLoader.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/io/UrlResource.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/io/UrlResource.java -------------------------------------------------------------------------------- /src/main/java/com/lc/spring/xml/XmlBeanDefinitionReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/java/com/lc/spring/xml/XmlBeanDefinitionReader.java -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/webapp/WEB-INF/web.xml -------------------------------------------------------------------------------- /src/main/webapp/index.jsp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/main/webapp/index.jsp -------------------------------------------------------------------------------- /src/test/java/ApplicationContextTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/ApplicationContextTest.java -------------------------------------------------------------------------------- /src/test/java/BeanFactoryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/BeanFactoryTest.java -------------------------------------------------------------------------------- /src/test/java/HelloWorldService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/HelloWorldService.java -------------------------------------------------------------------------------- /src/test/java/OutputService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/OutputService.java -------------------------------------------------------------------------------- /src/test/java/XmlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/XmlTest.java -------------------------------------------------------------------------------- /src/test/java/io/ResourceLoaderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/io/ResourceLoaderTest.java -------------------------------------------------------------------------------- /src/test/java/xml/XmlBeanDefinitionReaderTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/java/xml/XmlBeanDefinitionReaderTest.java -------------------------------------------------------------------------------- /src/test/resources/tinyioc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoldenLiang/MyIoC/HEAD/src/test/resources/tinyioc.xml --------------------------------------------------------------------------------