awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
code4craft avatar

code4craft/tiny-spring

0
View on GitHub↗
4,089 stars·1,800 forks·Java·Apache-2.0·3 vues

Tiny Spring

tiny-spring est un conteneur d'inversion de contrôle (IoC) Java et un framework de programmation orientée aspect (AOP). Il fournit un système pour gérer les cycles de vie des objets et l'injection de dépendances afin de découpler les composants d'application.

Le projet dispose d'un générateur de proxy de bytecode qui permet l'interception de méthodes et la modification comportementale pour les classes qui n'implémentent pas d'interfaces. Il utilise des expressions de pointcut pour faire correspondre des classes et méthodes spécifiques pour l'exécution d'une logique transversale via des proxys dynamiques.

Le framework gère les composants singleton et résout les dépendances d'objets en utilisant l'initialisation paresseuse (lazy initialization). Les environnements d'application et le câblage des composants sont définis et amorcés via des fichiers de configuration XML externes.

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.

Historique des stars

Graphique de l'historique des stars pour code4craft/tiny-springGraphique de l'historique des stars pour code4craft/tiny-spring

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait code4craft/tiny-spring ?

tiny-spring est un conteneur d'inversion de contrôle (IoC) Java et un framework de programmation orientée aspect (AOP). Il fournit un système pour gérer les cycles de vie des objets et l'injection de dépendances afin de découpler les composants d'application.

Quelles sont les fonctionnalités principales de code4craft/tiny-spring ?

Les fonctionnalités principales de code4craft/tiny-spring sont : 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.

Quelles sont les alternatives open-source à code4craft/tiny-spring ?

Les alternatives open-source à code4craft/tiny-spring incluent : 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…

Alternatives open source à Tiny Spring

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Tiny Spring.
  • fuzhengwei/small-springAvatar de fuzhengwei

    fuzhengwei/small-spring

    4,899Voir sur 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
    Voir sur GitHub↗4,899
  • derekyrc/mini-springAvatar de DerekYRC

    DerekYRC/mini-spring

    6,360Voir sur 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
    Voir sur GitHub↗6,360
  • typestack/typediAvatar de typestack

    typestack/typedi

    4,242Voir sur 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
    Voir sur GitHub↗4,242
  • liangxiegame/qframeworkAvatar de liangxiegame

    liangxiegame/QFramework

    5,163Voir sur 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
    Voir sur GitHub↗5,163
Voir les 30 alternatives à Tiny Spring→