Build time Java framework for full stack applications
Korus performs all dependency injection, configuration binding, and route registration at compile time — not runtime. No main method, no classpath scanning, no reflection proxies.

Comprehensive guides covering every aspect of the Korus Framework, from installation to advanced topics.
Learn more →Step-by-step tutorials to help you build real applications with Korus quickly and efficiently.
Learn more →Check out the source code, contribute to the project, and stay updated with the latest releases.
Learn more →See how Korus transforms Java application performance
All beans are resolved and wired during compilation. No runtime discovery needed.
Routes, controllers, and service bindings are generated as bytecode at compile time.
Applications start in milliseconds with consistent, predictable startup times.
No reflection metadata, no proxy classes — just the code your application needs.
Runtime reflection scans classes, builds dependency graphs, and injects beans dynamically.
Every startup triggers a full scan of the classpath to discover components and configurations.
AOP and transactional behavior require dynamic proxy generation at runtime.
Startup time and memory grow linearly with application size, causing cold-start problems.
Everything you need to build modern Java applications
Dependencies are resolved and injected at compile time, eliminating runtime overhead and enabling instant startup.
No main class required. Korus auto-generates the entry point, so you focus purely on business logic.
Build everything from monoliths to microservices with built-in HTTP server, REST clients, and data access.
Use annotations you already know — @Service, @Repository, @Transactional, @Controller — with zero learning curve.
GraalVM-ready out of the box. No reflection means seamless native image compilation without extra configuration.
Small runtime and instant startup mean your tests run in milliseconds, not seconds.