refactor: optimize string concatenation and add startup statistics
- 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>
This commit is contained in:
28
src/main/java/com/imyeyu/inject/StartupStatistics.java
Normal file
28
src/main/java/com/imyeyu/inject/StartupStatistics.java
Normal file
@ -0,0 +1,28 @@
|
||||
package com.imyeyu.inject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 启动统计信息
|
||||
*
|
||||
* @author 夜雨
|
||||
* @since 2026-01-13 01:29
|
||||
*/
|
||||
class StartupStatistics {
|
||||
|
||||
final List<String> scannedPackages = new ArrayList<>();
|
||||
int scannedClasses = 0;
|
||||
int registeredBeans = 0;
|
||||
int injectedFields = 0;
|
||||
int postConstructInvocations = 0;
|
||||
|
||||
long scanStartTime = 0;
|
||||
long scanEndTime = 0;
|
||||
long iocStartTime = 0;
|
||||
long iocEndTime = 0;
|
||||
long injectionTotalTime = 0;
|
||||
long injectionCurrentStart = 0;
|
||||
long postConstructTotalTime = 0;
|
||||
long postConstructCurrentStart = 0;
|
||||
}
|
||||
Reference in New Issue
Block a user