17 个仓库
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 是一个高性能 PHP 微服务框架,旨在处理并发网络流量并使用协程执行异步任务。它通过协程驱动的运行时和支持 HTTP、WebSocket、RPC 和 TCP 协议的高性能服务器,为构建可扩展的后端服务提供了基础。 该框架通过一套治理和优化工具脱颖而出,包括用于注册、发现和熔断的分布式服务协调系统。它还具有用于可重用数据库和网络套接字的连接池管理器,以及用于拦截和扩展方法行为而不修改源代码的面向切面编程库。 其他功能包括用于组件解耦的依赖注入容器、用于繁重计算的进程池任务执行,以及用于循环任务的调度机制。该系统还支持集中式配置管理,以同步不同环境下的应用程序设置。
Provides a library for aspect-oriented programming to intercept and extend method behavior without modifying source code.
Small-Spring 是一个简化的 Java Spring 框架实现,旨在研究控制反转 (IoC) 容器和依赖注入框架的内部架构。它作为一个 Bean 容器,通过自动实例化和属性注入来管理对象生命周期并解析依赖关系。 该项目实现了使用动态代理拦截方法调用的机制,以支持面向切面编程 (AOP)。它通过包装目标对象来修改方法执行,从而将横切关注点与业务逻辑分离。 该系统涵盖了通过类路径扫描进行组件发现以及加载外部资源(包括 XML 配置解析)。它还包括应用上下文管理、Bean 作用域控制,以及基于观察者模式的事件分发系统,用于处理系统事件和生命周期钩子。
Implements a system for modularizing cross-cutting concerns using dynamic proxies and interceptors.
tiny-spring 是一个 Java 控制反转(IoC)容器和面向切面编程(AOP)框架。它提供了一个用于管理对象生命周期和依赖注入的系统,以解耦应用程序组件。 该项目具有一个字节码代理生成器,能够对未实现接口的类进行方法拦截和行为修改。它使用切入点表达式来匹配特定的类和方法,以便通过动态代理执行横切逻辑。 该框架管理单例组件,并使用延迟初始化来解析对象依赖关系。应用程序环境和组件装配通过外部 XML 配置文件进行定义和引导。
Provides an AOP framework for modularizing cross-cutting concerns via dynamic proxies.
这是一个 Gradle 插件,旨在促进 Android 应用程序中的面向切面编程 (AOP)。它作为构建时工具运行,拦截方法调用以注入横切逻辑,允许开发人员在不修改单个源代码文件的情况下集中处理日志记录、安全或性能监控等关注点。 该插件通过其执行二进制依赖编织的能力脱颖而出,该能力跨本地源代码和 JAR、AAR 等外部库格式应用检测。通过利用 Gradle Transform API,它直接集成到编译流水线中以修改字节码,确保注入的逻辑在整个项目依赖图中一致应用。 除了核心检测功能外,该工具还提供构建优化功能,用于管理依赖冲突并提高编译性能。它支持增量处理以选择性地重新处理修改后的代码段,并包括过滤机制以从构建过程中排除特定类或库。
Implements aspect-oriented programming to modularize cross-cutting concerns like logging and performance monitoring within Android applications.
This project is a community discussion platform built on the Spring Boot framework, designed to facilitate knowledge sharing through forums and question-and-answer spaces. It functions as a modular content management system that supports the development of interactive online communities with integrated social networking features. The platform distinguishes itself through a scalable architecture that supports distributed deployments. It utilizes a centralized session management system to synchronize user states across multiple server instances, ensuring consistent availability. Security is mai
Provides dynamic method interception for logging and performance monitoring across the application.