Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

StarLikeMoon/SimpleFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

8 Commits

Repository files navigation

项目更新日志

  • 更新了自研框架的IoC模块,实现了IoC容器,通过URL提取资源,利用注解和反射机制创建需要托管的Bean实例并加载进容器,通过注解进行依赖注入。
  • 更新了自研框架的AOP模块,实现了通过注解进行横切逻辑的切入,AOP1.0参考Spring1.0的设计思想,没有引入AspectJ,仅使用CGLIB进行织入,AOP1.0仅支持注解级别的joinpoint横切。

项目架构说明

  • src/main/java/cn目录下的类都是模拟的业务逻辑,编写的Dao层,Service层,Controller层模拟类。
  • src/main/java/org目录下为框架IoC模块。
    • org/core目录下存放的BeanContainer类为框架的IoC容器,也是框架的核心入口。
    • org/core/annotation目录下存放的为Bean加载的自定义注解。
    • org/inject目录下存放的DependencyInjector类用来提供初始化容器和依赖注入功能。
    • org/inject/annotation目录下存放的是依赖注入的自定义注解——Autowired。
    • org/util目录下存放的是工具类。
      • 其中ClassUtil用来处理与类相关的逻辑,比如获取指定路径下的类集合,利用反射将目标类实例化等。
      • 其中ValidationUtil是一个判断工具,用来判断集合、数组等是否为空。
  • org/aop目录下存放的为框架AOP模块
  • src/test目录下存放的是单元测试模块。

博客地址

About

阅读Spring源码以及学习Spring设计思想的总结型项目,仿照spring框架思想,实现的自研简单框架,简单实现了Spring的IOC、AOP以及MVC核心模块,实现了IoC容器,利用枚举实现了安全单例容器,通过URL提取资源,利用反射机制创建实例并加载进容 器,再通过注解进行依赖注入。 实现了AOP,利用CGLIB动态代理实现了AOP模块,支持注解级joinpoint横切,后期引入AspectJ,支持了 方法级别pointcut横切。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /