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

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

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

code4craft/tiny-spring

0
View on GitHub↗
4,089 星标·1,800 分支·Java·Apache-2.0·5 次浏览

Tiny Spring

tiny-spring 是一个 Java 控制反转(IoC)容器和面向切面编程(AOP)框架。它提供了一个用于管理对象生命周期和依赖注入的系统,以解耦应用程序组件。

该项目具有一个字节码代理生成器,能够对未实现接口的类进行方法拦截和行为修改。它使用切入点表达式来匹配特定的类和方法,以便通过动态代理执行横切逻辑。

该框架管理单例组件,并使用延迟初始化来解析对象依赖关系。应用程序环境和组件装配通过外部 XML 配置文件进行定义和引导。

Features

  • Dependency Injection Containers - Provides a centralized inversion of control container to manage object lifecycles and resolve dependency graphs.
  • Inversion-of-Control Containers - Provides a central container to manage the lifecycle and instantiation of singleton components and their dependencies.
  • Bytecode Generators - Generates Java bytecode at runtime to create proxies for classes without interfaces.
  • Bytecode Proxy Generation - Implements a bytecode proxy generator to enable method interception for classes that do not implement interfaces.
  • Runtime Bytecode Proxying - Generates new class definitions at runtime to allow method interception on classes that do not implement interfaces.
  • AOP Pointcut Matching - Evaluates specific patterns to determine which methods and classes should be targeted by interception logic.
  • Aspect-Oriented Programming Frameworks - Provides an AOP framework for modularizing cross-cutting concerns via dynamic proxies.
  • Automated Component Resolution - Injects components into one another by resolving references and using lazy initialization to prevent deadlocks.
  • Dependency Injection - Handles the creation and wiring of object dependencies to decouple components and simplify architecture.
  • Method Interception Proxies - Utilizes dynamic proxy systems to intercept method calls and inject custom behavioral rules.
  • Bytecode Proxy Generators - Implements a bytecode proxy generator allowing method interception for classes that lack interfaces.
  • Non-Invasive AOP Frameworks - Provides a non-invasive AOP framework that intercepts method execution to apply cross-cutting logic without source code changes.
  • Java AOP Frameworks - Provides a full AOP framework for Java using pointcut expressions and dynamic proxies to execute cross-cutting logic.
  • XML Configurations - Parses XML files to automatically define and register components within the system container.
  • Custom XML Bean Parsing - Parses external XML files to define bean definitions and wiring instructions for the application context.
  • XML Context Bootstrapping - Reads component definitions and wiring instructions from XML files to initialize the application environment.
  • Pointcut Expression Matching - Uses pointcut expressions to match specific classes and methods for the execution of cross-cutting logic.
  • XML-Based Dependency Injection - Resolves object dependencies and injects properties based on configurations defined in external XML files.
  • Reflection-Based Property Injection - Assigns values to object fields during initialization using reflection-based property injection.
  • Application Component Lifecycles - Manages the instantiation and lifecycle of backend application components using a factory to decouple creation logic.
  • Singleton Component Management - Initializes single-instance components by automatically injecting all required attributes and dependencies.
  • Circular Dependency Resolution - Defers component creation via lazy initialization to resolve circular dependencies and prevent deadlocks.
  • Singleton Instance Sharing - Maintains a single instance of each component in a central registry to ensure shared state across the application.
  • Spring Framework Analysis - Minimalist version of the framework for step-by-step architectural study.

Star 历史

code4craft/tiny-spring 的 Star 历史图表code4craft/tiny-spring 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

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

Start searching with AI

常见问题解答

code4craft/tiny-spring 是做什么的?

tiny-spring 是一个 Java 控制反转(IoC)容器和面向切面编程(AOP)框架。它提供了一个用于管理对象生命周期和依赖注入的系统,以解耦应用程序组件。

code4craft/tiny-spring 的主要功能有哪些?

code4craft/tiny-spring 的主要功能包括:Dependency Injection Containers, Inversion-of-Control Containers, Bytecode Generators, Bytecode Proxy Generation, Runtime Bytecode Proxying, AOP Pointcut Matching, Aspect-Oriented Programming Frameworks, Automated Component Resolution。

code4craft/tiny-spring 有哪些开源替代品?

code4craft/tiny-spring 的开源替代品包括: fuzhengwei/small-spring — Small-Spring is a simplified Java implementation of the Spring framework designed to study the internal architecture… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle… typestack/typedi — TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized… liangxiegame/qframework — QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It… facebookarchive/inject — Inject is a dependency injection framework for Go that automates the assembly of complex object graphs. By leveraging… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized…

Tiny Spring 的开源替代方案

相似的开源项目,按与 Tiny Spring 的功能重合度排序。
  • 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
  • derekyrc/mini-springDerekYRC 的头像

    DerekYRC/mini-spring

    6,360在 GitHub 上查看↗

    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

    Javamini-springspringspring-boot
    在 GitHub 上查看↗6,360
  • typestack/typeditypestack 的头像

    typestack/typedi

    4,242在 GitHub 上查看↗

    TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized registry and service locator that manages object instantiation and decouples component dependencies using type inference and decorators. The project provides scoped dependency management to isolate service instances within specific contexts, preventing data leakage between different execution flows. It supports flexible service resolution through the use of type-safe tokens and the ability to map unique identifiers or class constructors to specific service instances. The contain

    TypeScriptdependency-injectioninversion-of-controlioc
    在 GitHub 上查看↗4,242
  • liangxiegame/qframeworkliangxiegame 的头像

    liangxiegame/QFramework

    5,163在 GitHub 上查看↗

    QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It implements a layered software architecture to manage complex game states and provides a game engine utility library to reduce boilerplate code. The framework is centered on the Command Query Responsibility Segregation pattern, which separates data modification commands from data retrieval queries. It utilizes a dependency injection container to manage the lifecycles and resolution of singletons and modular components, alongside an event-driven system for state synchronization to pre

    C#frameworksgame-devgodot
    在 GitHub 上查看↗5,163
  • 查看 Tiny Spring 的所有 30 个替代方案→