awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
DerekYRC avatar

DerekYRC/mini-spring

0
View on GitHub↗
6,360 星标·1,451 分支·Java·Apache-2.0·8 次浏览github.com/DerekYRC/mini-spring↗

Mini Spring

mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components.

The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system.

The container supports bean definition through XML configuration and annotation-based scanning, alongside a three-level cache to resolve circular dependencies. It includes a post-processor hook pipeline to modify bean definitions and instances, and a resource loader to resolve property placeholders from external files.

Features

  • Dependency Injection - Implements a core dependency injection system for managing object lifecycles and resolving dependencies.
  • Dependency Injection Containers - Provides a central inversion-of-control container to manage the full lifecycle and dependency resolution of beans.
  • Inversion-of-Control Containers - Provides a central container for bean instantiation, scope management, and resolution of circular dependencies.
  • Circular Dependency Resolvers - Utilizes a three-level cache to provide early object references and resolve circular dependencies.
  • Java Component Containers - Acts as a runtime environment that handles the lifecycle and provisioning of Java objects.
  • Annotated Class Discovery - Implements automated discovery of managed objects by scanning packages for specific annotations.
  • Annotation-Based Component Scanning - Automatically discovers and registers managed objects by scanning specified Java packages for annotations.
  • Bean Definition Configurations - Supports defining bean metadata and relationships through XML configurations and annotations.
  • Aspect-Oriented Programming Frameworks - Provides an AOP framework to modularize cross-cutting concerns like logging and security.
  • Automated Component Discovery - Automatically detects and registers annotated classes from packages to eliminate manual instantiation.
  • Dependency Injection Frameworks - Provides a lightweight Java dependency injection framework for managing component wiring and lifecycles.
  • Annotation-Based Injection - Resolves and injects required dependencies into fields or constructors using metadata annotations.
  • Method Interception Proxies - Uses runtime-generated dynamic proxies to intercept method calls for applying cross-cutting logic.
  • Annotated Class Discovery - Automatically discovers and registers managed components by scanning annotated classes in specified packages.
  • Bean Post-Processor Pipelines - Provides a post-processor pipeline to modify bean definitions and instances during the container initialization phase.
  • Bean Initialization Customizations - Provides post-processors and aware interfaces to inject custom logic before or after bean initialization.
  • External Configuration Loading - Loads external property files to resolve configuration placeholders without modifying source code.
  • Publish-Subscribe Messaging - Implements a publish-subscribe pattern for triggering and listening to events within the application context.
  • Classpath Component Scanners - Automatically discovers and registers managed objects by scanning classpath packages for specific annotations.
  • Scoped Lifecycle Managers - Supports singleton and prototype scopes to control the visibility and lifecycle of managed objects.
  • Annotation-Driven Configuration - Uses annotations and placeholder resolvers to inject configuration values from property files into beans.
  • Application Event Buses - Implements an event-driven architecture to decouple components via a publish-subscribe system.
  • Bean Post-Processors - Process object definitions before instantiation and modify instances before or after their initialization.
  • Property Source Resolvers - Resolves configuration placeholders from external property files and classpath resources for injection into beans.
  • Event Bus Systems - Provides an internal event bus implementation for decoupled communication between application components.
  • Event Dispatching Systems - Includes a publish-subscribe multicast system to decouple components via a centralized event dispatcher.
  • Event-Driven Architectures - Implements a publish-subscribe multicast system to decouple components via application-level events.
  • Lifecycle Callbacks - Executes specific initialization and destruction methods to manage resource setup and cleanup for beans.
  • Value Injection Annotations - Populates object properties using annotations to inject configuration values from external sources.
  • Property Placeholders - Injects configuration values into object fields by resolving placeholders using a specific syntax.
  • Application Event Multicasters - Ships a publish-subscribe system to decouple internal components via event multicasting.
  • Spring Framework Analysis - Simplified framework implementation to practice and learn core principles.

Star 历史

derekyrc/mini-spring 的 Star 历史图表derekyrc/mini-spring 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

derekyrc/mini-spring 是做什么的?

mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components.

derekyrc/mini-spring 的主要功能有哪些?

derekyrc/mini-spring 的主要功能包括:Dependency Injection, Dependency Injection Containers, Inversion-of-Control Containers, Circular Dependency Resolvers, Java Component Containers, Annotated Class Discovery, Annotation-Based Component Scanning, Bean Definition Configurations。

derekyrc/mini-spring 有哪些开源替代品?

derekyrc/mini-spring 的开源替代品包括: xuchengsheng/spring-reading — This is a learning resource that explains the Spring Framework through source code analysis and practical examples. It… fuzhengwei/small-spring — Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture… code4craft/tiny-spring — tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system… spring-projects/spring-framework — Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… liyifeng1994/ssm — This is a demonstration project that illustrates the classic SSM architecture pattern—combining SpringMVC, Spring, and…

Mini Spring 的开源替代方案

相似的开源项目,按与 Mini Spring 的功能重合度排序。
  • xuchengsheng/spring-readingxuchengsheng 的头像

    xuchengsheng/spring-reading

    9,921在 GitHub 上查看↗

    This is a learning resource that explains the Spring Framework through source code analysis and practical examples. It covers the foundational principles of Inversion of Control and Dependency Injection, demonstrating how the IoC container manages bean definitions, dependency injection, and lifecycle callbacks. The material also explores Spring's Aspect-Oriented Programming implementation, showing how cross-cutting concerns like logging and security are handled through proxy-based weaving. The resource provides walkthroughs of Spring Boot's automatic configuration mechanism, detailing how con

    Javaannotationsawareinterfacebackenddevelopment
    在 GitHub 上查看↗9,921
  • fuzhengwei/small-springfuzhengwei 的头像

    fuzhengwei/small-spring

    4,899在 GitHub 上查看↗

    Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture of inversion of control containers and dependency injection frameworks. It functions as a bean container that manages object lifecycles and resolves dependencies through automated instantiation and property injection. The project implements a mechanism for intercepting method calls using dynamic proxies to support aspect-oriented programming. It separates cross-cutting concerns from business logic by wrapping target objects to modify method executions. The system covers compon

    Java
    在 GitHub 上查看↗4,899
  • code4craft/tiny-springcode4craft 的头像

    code4craft/tiny-spring

    4,089在 GitHub 上查看↗

    tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system for managing object lifecycles and dependency injection to decouple application components. The project features a bytecode proxy generator that enables method interception and behavioral modification for classes that do not implement interfaces. It uses pointcut expressions to match specific classes and methods for the execution of cross-cutting logic via dynamic proxies. The framework manages singleton components and resolves object dependencies using lazy initialization. Ap

    Java
    在 GitHub 上查看↗4,089
  • spring-projects/spring-frameworkspring-projects 的头像

    spring-projects/spring-framework

    60,056在 GitHub 上查看↗

    Spring Framework is an enterprise Java framework providing a comprehensive infrastructure for building server-side applications. It functions as a dependency injection container and a Java application framework designed to support scalable backend development through modular architecture. The project provides tools for aspect-oriented programming to intercept method calls using dynamic proxies, allowing the application of cross-cutting concerns such as security and transactions. It also includes a centralized system for managing object lifecycles and coordinating component wiring by injecting

    Javaframeworkspringspring-framework
    在 GitHub 上查看↗60,056
  • 查看 Mini Spring 的所有 30 个替代方案→