17 Repos
Tools for modularizing cross-cutting concerns like logging, security, and transactions.
Distinguishing note: Focuses on the implementation of interceptors and proxies for cross-cutting logic.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Aspect-Oriented Programming Frameworks. Refine with filters or upvote what's useful.
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
Implements an aspect-oriented programming framework for modularizing concerns like security and transactions.
This repository serves as a comprehensive collection of practical demonstrations and tutorials for building enterprise-ready Java applications using the Spring Boot framework. It provides structured guidance on core development topics, including the implementation of inversion-of-control containers, auto-configuration mechanisms, and convention-over-configuration patterns to simplify the assembly of complex systems. The project distinguishes itself by offering implementation patterns for diverse architectural requirements, such as microservices development, reactive programming models for hig
Intercepts method calls to inject cross-cutting logic like security and transactions without modifying core business code.
Hutool is a comprehensive suite of Java extensions designed to serve as a standard library extension. Its primary purpose is to reduce development boilerplate for common programming tasks and data manipulation through a collection of utility classes. The project provides specialized toolkits for database management using active record patterns and connection pooling, as well as network communication via a simplified HTTP client and asynchronous socket management. It includes security and identity capabilities such as symmetric and asymmetric encryption, image captcha generation, and JWT token
Provides dynamic proxies and interceptors to apply cross-cutting logic using aspect-oriented programming.
Drogon is a high-performance, cross-platform C++ framework designed for building asynchronous web services and server-side applications. It functions as a multi-threaded, event-driven server engine that manages concurrent network traffic and WebSocket connections with minimal latency. By leveraging non-blocking input/output and native code compilation, the framework provides a foundation for scalable applications that operate efficiently across diverse hardware architectures. The framework distinguishes itself through its compile-time template rendering, which transforms dynamic HTML views in
Provides middleware hooks for injecting custom logic and security policies into the request-response cycle.
The AWS Cloud Development Kit is an infrastructure-as-code framework that enables developers to define and provision cloud resources using familiar programming languages. By utilizing construct-based synthesis, it translates high-level, object-oriented code into declarative templates, allowing for the automated management of complex cloud environments through a centralized, code-driven control plane. The framework distinguishes itself through its ability to model infrastructure as a dependency-aware resource graph, ensuring that components are provisioned and updated in the correct order. It
Applies security and compliance rules to infrastructure definitions during the synthesis phase using aspect-oriented logic.
Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls. The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment. Its core cap
Intercepts and modifies method execution behavior to implement shared concerns without changing core business logic.
Spring Security is a comprehensive security framework for Java applications that provides authentication and authorization for both web and non-web environments. It functions as an implementation of authentication and authorization logic integrated with the Java runtime environment to protect sensitive resources from unauthorized access. The framework includes toolkits for implementing OpenID Connect and OAuth 2.0 authorization servers and clients, as well as tools for integrating SAML 2.0 identity providers to enable cross-domain single sign-on. It utilizes a role-based access control system
Implements method-level security checks using aspect-oriented programming to decouple authorization from business logic.
Aspects is an aspect-oriented programming library and method hooking framework designed for intercepting and modifying JavaScript function behavior without altering the original source code. It serves as a runtime logic injector that allows for the addition and removal of executable code wrappers from active functions. The library enables the injection of custom logic before or after methods to change application behavior at runtime. It further provides the ability to intercept method calls to capture or override return values before they reach the caller. The framework manages these interce
Provides a framework for implementing cross-cutting concerns by injecting custom logic into functions.
jvm-sandbox is a bytecode instrumentation framework and plugin container for the Java Virtual Machine. It acts as a runtime application modifier that enables the injection and modification of bytecode in a running process without requiring an application restart or changes to the original source code. The system provides a non-invasive aspect-oriented programming framework to intercept method execution and alter behavior in live processes. It functions as an isolated environment for functional modules, employing a custom class loader hierarchy to prevent dependency conflicts between plugins a
Implements cross-cutting concerns like logging or monitoring into a live application without modifying its existing codebase.
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
Employs aspect-oriented programming to create pluggable components and meta-programming without altering core logic.
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
Provides an AOP framework to modularize cross-cutting concerns like logging and security.
This is a demonstration project that illustrates the classic SSM architecture pattern—combining SpringMVC, Spring, and MyBatis—for building scalable enterprise Java web applications. It serves as both a learning resource and a practical tutorial for developers who want to understand how these three frameworks work together in a full-stack context. The project provides a step-by-step guide for assembling SpringMVC, Spring, and MyBatis into a cohesive enterprise web application stack, covering everything from Spring dependency injection and transaction management to MyBatis database access and
Weaves cross-cutting concerns like logging and transactions into target objects using runtime JDK or CGLIB proxies.
Swoft ist ein hochperformantes PHP-Microservice-Framework, das darauf ausgelegt ist, gleichzeitigen Netzwerkverkehr und asynchrone Aufgaben mittels Coroutines zu bewältigen. Es bietet eine Grundlage für den Aufbau skalierbarer Backend-Dienste durch eine Coroutine-gesteuerte Runtime und hochperformante Server, die HTTP-, WebSocket-, RPC- und TCP-Protokolle unterstützen. Das Framework zeichnet sich durch eine Reihe von Governance- und Optimierungstools aus, einschließlich eines verteilten Service-Koordinationssystems für Registrierung, Discovery und Circuit Breaking. Es verfügt zudem über einen Connection-Pool-Manager für wiederverwendbare Datenbank- und Netzwerk-Sockets sowie eine Bibliothek für aspektorientierte Programmierung, um das Methodenverhalten abzufangen und zu erweitern, ohne den Quellcode zu modifizieren. Zusätzliche Funktionen umfassen einen Dependency-Injection-Container für die Entkopplung von Komponenten, Process-Pool-Aufgabenausführung für rechenintensive Aufgaben und einen Planungsmechanismus für wiederkehrende Aufgaben. Das System unterstützt zudem zentralisiertes Konfigurationsmanagement, um Anwendungseinstellungen über verschiedene Umgebungen hinweg zu synchronisieren.
Provides a library for aspect-oriented programming to intercept and extend method behavior without modifying source code.
Small-Spring ist eine vereinfachte Java-Implementierung des Spring-Frameworks, die dazu dient, die interne Architektur von Inversion-of-Control-Containern und Dependency-Injection-Frameworks zu studieren. Es fungiert als Bean-Container, der Objekt-Lebenszyklen verwaltet und Abhängigkeiten durch automatisierte Instanziierung und Property-Injection auflöst. Das Projekt implementiert einen Mechanismus zum Abfangen von Methodenaufrufen mittels dynamischer Proxys, um aspektorientierte Programmierung zu unterstützen. Es trennt Cross-Cutting Concerns von der Geschäftslogik, indem Zielobjekte gewrappt werden, um Methodenausführungen zu modifizieren. Das System umfasst Komponentenerkennung durch Classpath-Scanning und das Laden externer Ressourcen, einschließlich der Analyse von XML-Konfigurationen. Es beinhaltet Application-Context-Management, Bean-Scope-Kontrolle und ein Event-Dispatching-System basierend auf dem Observer-Pattern, um Systemereignisse und Lifecycle-Hooks zu verarbeiten.
Implements a system for modularizing cross-cutting concerns using dynamic proxies and interceptors.
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
Provides an AOP framework for modularizing cross-cutting concerns via dynamic proxies.
Dieses Projekt ist ein Gradle-Plugin, das für die Erleichterung der aspektorientierten Programmierung innerhalb von Android-Anwendungen entwickelt wurde. Es fungiert als Build-Time-Tool, das Methodenaufrufe abfängt, um Cross-Cutting-Logik zu injizieren, wodurch Entwickler Anliegen wie Logging, Sicherheit oder Leistungsüberwachung zentralisieren können, ohne einzelne Quelldateien zu ändern. Das Plugin zeichnet sich durch seine Fähigkeit zur binären Dependency-Weaving aus, die Instrumentierung sowohl über lokalen Quellcode als auch über externe Bibliotheksformate wie JARs und AARs anwendet. Durch die Nutzung der Gradle Transform API integriert es sich direkt in die Kompilierungspipeline, um Bytecode zu modifizieren und sicherzustellen, dass die injizierte Logik konsistent über den gesamten Projektabhängigkeitsgraphen angewendet wird. Über seine Kernfunktionen der Instrumentierung hinaus bietet das Tool Build-Optimierungsfunktionen, die Abhängigkeitskonflikte verwalten und die Kompilierungsleistung verbessern. Es unterstützt inkrementelle Verarbeitung, um geänderte Code-Segmente selektiv neu zu verarbeiten, und enthält Filtermechanismen, um bestimmte Klassen oder Bibliotheken vom Build-Prozess auszuschließen.
Implements aspect-oriented programming to modularize cross-cutting concerns like logging and performance monitoring within Android applications.
Dieses Projekt ist eine Community-Diskussionsplattform, die auf dem Spring-Boot-Framework basiert und darauf ausgelegt ist, Wissensaustausch durch Foren und Q&A-Bereiche zu erleichtern. Sie fungiert als modulares Content-Management-System, das die Entwicklung interaktiver Online-Communities mit integrierten Social-Networking-Funktionen unterstützt. Die Plattform zeichnet sich durch eine skalierbare Architektur aus, die verteilte Deployments unterstützt. Sie nutzt ein zentrales Sitzungsmanagementsystem, um Benutzerzustände über mehrere Serverinstanzen hinweg zu synchronisieren und so eine konsistente Verfügbarkeit sicherzustellen. Sicherheit wird durch ein hierarchisches, rollenbasiertes Zugriffskontrollsystem (RBAC) gewahrt, das Benutzerberechtigungen verwaltet und administrative Operationen validiert, ergänzt durch automatisierte E-Mail-Verifizierungs-Workflows für das Identitätsmanagement. Das System integriert ein steckbares Service-Provider-Interface, das die Integration externer Speicher-, Caching- und Suchmaschinen ermöglicht, um spezifische Infrastrukturanforderungen zu erfüllen. Zudem bietet es ein responsives Interface-Design, um konsistente Barrierefreiheit auf Mobil- und Desktop-Plattformen sicherzustellen. Für die betriebliche Wartung enthält die Plattform integriertes Application-Execution-Tracing und Aktivitäts-Logging, um bei Performance-Monitoring und Troubleshooting zu unterstützen.
Provides dynamic method interception for logging and performance monitoring across the application.