7 个仓库
Language-level patterns using partial classes to add methods to generated code without modifying the source.
Distinct from Extension Methods: Specifically uses the partial class pattern for generated code maintenance, distinct from general extension methods.
Explore 7 awesome GitHub repositories matching programming languages & runtimes · Partial Class Extensions. Refine with filters or upvote what's useful.
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
Scans the classpath for annotated classes and automatically registers them as beans in the application context.
NSwag is an OpenAPI toolchain for .NET that provides a suite of generators for converting OpenAPI specifications and JSON schemas into clients, server stubs, and structured documentation. It enables the creation of type-safe client libraries and data transfer objects, as well as the generation of OpenAPI specifications by analyzing .NET controllers. The project supports contract-first API development by generating server controller stubs from specifications and offers dedicated TypeScript API integration to ensure type safety in frontend applications. It also provides tools for hosting intera
Adds custom methods or overrides request logic using partial classes to avoid modifying auto-generated code.
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
Automatically discovers and registers managed objects by scanning classpath packages for specific annotations.
Querydsl 是一个用于构建类型安全查询的框架。它使用流畅的 API 和基于注解的代码生成从领域模型创建镜像类,从而实现数据库查询的编译时验证,并消除了手动字符串拼接的需要。 该项目提供了一种统一的查询语法,可转换为多个后端的特定方言,包括 SQL、MongoDB、Lucene 和 JDO。它支持高级查询功能,如公用表表达式(CTE)、窗口函数、地理空间操作和复杂的嵌套子查询。 除了数据检索外,该框架还涵盖了用于批量更新和删除的类型安全 DML 执行,以及将结果映射到 Java Bean、构造函数或元组。它包括对内存集合查询的支持,并与 Spring 框架集成以进行事务管理和连接处理。
Scans the project classpath for annotated classes to automatically identify entities for query type generation.
Small-Spring 是一个简化的 Java Spring 框架实现,旨在研究控制反转 (IoC) 容器和依赖注入框架的内部架构。它作为一个 Bean 容器,通过自动实例化和属性注入来管理对象生命周期并解析依赖关系。 该项目实现了使用动态代理拦截方法调用的机制,以支持面向切面编程 (AOP)。它通过包装目标对象来修改方法执行,从而将横切关注点与业务逻辑分离。 该系统涵盖了通过类路径扫描进行组件发现以及加载外部资源(包括 XML 配置解析)。它还包括应用上下文管理、Bean 作用域控制,以及基于观察者模式的事件分发系统,用于处理系统事件和生命周期钩子。
Provides automatic discovery and registration of managed beans by scanning the classpath for annotations.
Reflections is a Java classpath scanning library and metadata indexer designed to locate classes, methods, and resources at runtime. It functions as a tool for annotation discovery and type hierarchy analysis, allowing the system to identify elements marked with specific annotations or to resolve super-types and subtypes within the Java virtual machine. The project distinguishes itself through metadata serialization, providing mechanisms to save the scanned index to persistent files or source code. This capability reduces application startup overhead by eliminating the need for repeated, expe
Restricts the metadata index to specific packages or files using inclusion patterns to improve scan speed.
HotswapAgent is a Java runtime instrumentation agent and bytecode redefinition tool designed to apply code changes to running applications instantly. It functions as a hot swap utility and classloader extender that modifies method bodies and updates class definitions without requiring a process restart. The project distinguishes itself as a framework state synchronizer, ensuring that beans, caches, and configurations remain consistent after class redefinitions. It provides specialized mechanisms to refresh managed beans, dependency injection points, and persistence factories, allowing logic c
Adds external directories to the classloader to watch for and load classes located outside primary archives.