1 Star 0 Fork 0

念兮 / simulaspring

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

simulaspring

介绍

我们在开发的过程中,一般会用到spring框架,这个框架就像是个容器,包罗万象, 比如hibernate、mybatis等都能被容纳。其最常用的是构造器、和属性注入, 也就是控制反转和依赖注入,因而,我仿造spring框架,模拟spring内部的流程。 这里,会用到深度递归获取所有的配置文件。也会涉及到在实现自动装配的过程中的递归操作。

详细介绍,请参考我的博客:https://segmentfault.com/a/1190000018536099

软件架构

1.core核心层

  • 软件架构说明采用建造者设计模式、根据类路径来创建类对象,
  • 采用工厂设计模式来创建加载配置文件的工厂,从而实例化所有以 *.xml开头的配置文件。
  • 使用接口定义契约式的模式,实现类来自定义实现接口。
  • 使用上下文来创建当前配置文件,并用getbean获取当前对象,比如:
  @Test
    public void testOrderService(){
        ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("orderSnapshotService.xml");
        OrderSnapshotService orderSnapshotService=(OrderSnapshotService) context.getBean("orderSnapshotService");
        orderSnapshotService.list();
    }
  1. util包

    • classHelper 主要是将类的首字母小写,与配置文件中的属性相同
    • Transform 主要根据属性的类型将配置文件的value值转为和属性类型相同的值
    • 。。。
  2. 测试层

    • objectfactory,测试实现自动装配的方式
      • 根据属性实现自动装配
      • 根据构造器实现自动装配
      • 根据默认的实现自动装配
      • 根据类型实现自动装配
      • 根据autodetect实现自动装配

安装教程

  1. 这是根据maven来创建的项目,下载该项目后,需要确保安装了maven

空文件

简介

我们在开发的过程中,一般会用到spring框架,这个框架就像是个容器,包罗万象,比如hibernate、mybatis等都能被容纳。其最常用的是构造器、和属性注入,也就是控制反转和依赖注入,因而,我仿造spring框架,模拟spring内部的流程。这里,会用到深度递归获取所有的配置文件。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/zbone/simulaspring.git
git@gitee.com:zbone/simulaspring.git
zbone
simulaspring
simulaspring
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891