从零开始开发IoC依赖注入框架 -- containerx (深入研究Spring源码)
2017-10-22 09:48
706 查看
摘要: 自己写了一个开源的IoC控制反转(依赖注入)框架,名为containerx。初学Spring源码的同学,可以先研究下这个小项目。更容易理解Spring的源码自己写了一个开源的IoC控制反转(依赖注入)框架,名为containerx。初学Spring源码的同学,可以先研究下这个小项目。更容易理解Spring的源码。 很多同学想学习Spring的源码,但是Spring的源码太庞大了。 看相应的书籍,并结合源码来研究。还是很难搞清楚原理(嵌套调用太多,而且架构相当复杂)。 我通过学习郝佳编著的书籍《Spring源码深度解析》,根据Spring的基本原理。写出了一个雏形的依赖注入框架,取名为containerx。 项目的源码地址为
https://github.com/flylib/containerx
开发者 Frank Liu(刘少明) 个人git https://github.com/flylib
邮箱liushaomingdev@163.com
代码片段如下
如果觉得有用,欢迎star。
https://github.com/flylib/containerx
开发者 Frank Liu(刘少明) 个人git https://github.com/flylib
邮箱liushaomingdev@163.com
代码片段如下
public static void inject(Object bean, Map<String, String> properties) { Map<String, String> methodMap = new HashMap<String, String>(); for (Map.Entry<String, String> entry : properties.entrySet()) { String configName = entry.getKey(); String configValue = entry.getValue(); String configMethodName = ""; if (configName != null && configName.length() > 0) { configMethodName = "set" + String.valueOf(configName.charAt(0)).toUpperCase() + configName.substring(1); } methodMap.put(configMethodName, configValue); } Class clazz = bean.getClass(); for (Method method : clazz.getMethods()) { String methodName = method.getName(); if (methodName.startsWith("set") && method.getParameterTypes().length == 1 && Modifier.isPublic(method.getModifiers()) && methodMap.containsKey(methodName)) { try { method.invoke(bean, methodMap.get(methodName)); } catch (Exception e) { e.printStackTrace(); } } } }项目的源码地址为https://github.com/flylib/containerx
如果觉得有用,欢迎star。
相关文章推荐
- 深入研究Spring-IoC:源码分析依赖注入
- Spring应用、原理以及粗读源码系列(一)--框架总述、以Bean为核心的机制(IoC容器初始化以及依赖注入)
- 深入探索spring技术内幕(三): 剖析spring IoC工作原理和配置依赖注入
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- Spring源码阅读(三)—IOC容器依赖注入
- Spring:源码解读(IOC容器的依赖注入)
- spring 框架中的依赖注入(IOC--设值注入)--使用注解--的具体实例的简单实现
- Spring IOC源码详解之容器依赖注入
- spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现
- Spring源码学习IOC(5):IOC容器的依赖注入
- Spring源码解析三:IOC容器的依赖注入
- Spring源码分析----IOC依赖注入
- Spring的IOC逐层深入——依赖注入的两种实现类型
- Spring学习(1):控制反转(IoC)和依赖注入(DI)的详解以及注解(annotation)开发入门案例
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)
- 深入探索spring技术内幕(三): 剖析spring IoC工作原理和配置依赖注入
- 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型
- 深入探索spring技术内幕(三): 剖析spring IoC工作原理和配置依赖注入
- Spring源码学习-4.IoC.依赖注入