一个不错的开源项目

前言

最近发现一个很好的开源项目,关于我了解到这个项目还是因为我关注的一个公众号的作者,出了一本书,书中借鉴了该开源项目,但好像把原作者的信息全删了,构成了侵权的行为。

Spring

mini-spring

关于

mini-spring是简化版的spring框架,能帮助你快速熟悉spring源码和掌握spring的核心原理。抽取了spring的核心逻辑,代码极度简化,保留spring的核心功能,如IoC和AOP、资源加载器、事件监听器、类型转换、容器扩展点、bean生命周期和作用域、应用上下文等核心功能。

如果本项目能帮助到你,请给个STAR,谢谢!!!

功能

基础篇

  • IoC
    • 实现一个简单的容器
    • BeanDefinition和BeanDefinitionRegistry
    • Bean实例化策略InstantiationStrategy
    • 为bean填充属性
    • 为bean注入bean
    • 资源和资源加载器
    • 在xml文件中定义bean
    • 容器扩展机制BeanFactoryPostProcess和BeanPostProcessor
    • 应用上下文ApplicationContext
    • bean的初始化和销毁方法
    • Aware接口
    • bean作用域,增加prototype的支持
    • FactoryBean
    • 容器事件和事件监听器
  • AOP
    • 切点表达式
    • 基于JDK的动态代理
    • 基于CGLIB的动态代理
    • AOP代理工厂ProxyFactory
    • 几种常用的Advice: BeforeAdvice/AfterAdvice/AfterReturningAdvice/ThrowsAdvice
    • PointcutAdvisor:Pointcut和Advice的组合
    • 动态代理融入bean生命周期

扩展篇

  • PropertyPlaceholderConfigurer
  • 包扫描
  • @Value注解
  • 基于注解@Autowired的依赖注入
  • 类型转换(一)
  • 类型转换(二)

高级篇

  • 解决循环依赖问题(一):没有代理对象
  • 解决循环依赖问题(二):有代理对象

SpringCloud

姊妹版: mini-spring-cloud (简化版的spring cloud框架)

关于

mini-spring-cloud是简化版的spring-cloud框架,能帮助你快速熟悉spring-cloud源码及掌握其核心原理。在保留spring cloud核心功能的的前提下尽量精简代码,核心功能包括 服务注册服务发现负载均衡集成Feign简化调用流量控制熔断降级API网关等。

希望本项目对你有所帮助,请给个STAR吧,谢谢!!!

功能

  • 服务注册
  • 服务发现
  • 负载均衡
  • 集成Feign简化调用方式
  • API网关
  • 流量控制
  • 熔断降级

最后

祝大家学习愉快