- Replace javafx-maven-plugin with maven-compiler-plugin
- Enable -parameters flag for runtime parameter name access
- Add getBeanWithFallback for name-based disambiguation when multiple candidates exist
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Enable @Inject field injection in the bean creation lifecycle. Fields are now injected after constructor injection and before PostConstruct invocation, allowing beans to use both constructor and field injection simultaneously.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Replace string concatenation with .formatted() method for better readability
- Add StartupStatistics class to track initialization metrics
- Add detailed startup logging with timing information
- Scan time
- IOC time
- Injection time
- PostConstruct time
- Total startup time
- Add banner output support (banner.txt or defBanner.txt)
- Add @Lazy annotation support for lazy initialization
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add annotation system (@Component, @Service, @Configuration, @Bean, @Inject, @Qualifier, @Primary, @Scope, @PostConstruct, @Import, @TimiInjectApplication)
- Implement BeanContext for managing bean instances and definitions
- Implement BeanScanner for component scanning (file system and jar)
- Implement BeanFactory with constructor injection and lifecycle support
- Support @Configuration and @Bean factory methods
- Support @Qualifier and @Primary for multi-implementation
- Support @Scope (singleton/prototype)
- Support @PostConstruct lifecycle callback
- Support @Import and Module extension
- Add circular dependency detection
- Add dependency graph export
- Add demo and test cases
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>