Files
springboot-scaffold/target/classes/com/example/scaffold/learning/IocLearningController.class

40 lines
8.0 KiB
Plaintext
Raw Normal View History

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>=a  3com/example/scaffold/learning/IocLearningControllerapplicationContext0Lorg/springframework/context/ApplicationContext;  
.org/springframework/context/ApplicationContextgetBeanDefinitionNames()[Ljava/lang/String;java/util/LinkedHashMap
 <init>()Vtotal
 java/lang/IntegervalueOf(I)Ljava/lang/Integer;    java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;" userBeans
$%& '(java/util/Arraysstream.([Ljava/lang/Object;)Ljava/util/stream/Stream;* +,test ()Ljava/util/function/Predicate; ./0 12java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; .4 56sorted()Ljava/util/stream/Stream; .8 9:toList()Ljava/util/List;<allBeans > ?@getBean&(Ljava/lang/String;)Ljava/lang/Object;
BCD EFjava/lang/ObjectgetClass()Ljava/lang/Class;HnameJtype
LMN OPjava/lang/ClassgetName()Ljava/lang/String;R
simpleName
LT UP getSimpleNameW
interfaces
LY Z[ getInterfaces()[Ljava/lang/Class;
$] ^_toString'([Ljava/lang/Object;)Ljava/lang/String;a annotations
Lc degetAnnotations$()[Ljava/lang/annotation/Annotation;gscope i jk isSingleton(Ljava/lang/String;)Zm singletono prototype q rsof<00>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;u(org/springframework/beans/BeansExceptionwerrory z{makeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; } r~5(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;<00>构造器注入<00>0推荐明确依赖不可变易于测试<00> Setter注入<00>可选依赖,灵活性高<00> 字段注入<00>'不推荐!隐藏依赖,难以测试<00>本控制器使用<00>>构造器注入 (RequiredArgsConstructor) + 字段注入演示 <00> r<00><00>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;<00>3单例 - 整个应用只有一个实例(默认)<00>'原型 - 每次请求都创建新实例<00>request<00>'请求 - 每个 HTTP 请求一个实例<00>session<00>'会话 - 每个 HTTP 会话一个实例<00>tip<00>4session scope 需要在 web 请求上下文中使用 <00> r<00><00>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map; <00> <00><00>performanceAspect,Lcom/example/scaffold/aop/PerformanceAspect;
<00><00><00> <00><00>*com/example/scaffold/aop/PerformanceAspectgetStats()Ljava/util/Map;<00> <00><00>accept0(Ljava/util/Map;)Ljava/util/function/BiConsumer; <00> <00><00>forEach"(Ljava/util/function/BiConsumer;)V
<00><00> <00>
resetStats<00>status<00>ok<00>message<00>性能统计已重置 <00> r<00>Y(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
B <00><00><00> <00><00>6com/example/scaffold/aop/PerformanceAspect$MethodStats totalTime(Ljava/util/concurrent/atomic/AtomicLong;
<00><00><00> <00><00>&java/util/concurrent/atomic/AtomicLongget()JB@ <00><00> <00><00>
totalCount<00>count
<00><00><00> <00>java/lang/Long(J)Ljava/lang/Long;<00>errors <00><00> <00><00>
errorCount<00>totalMs<00>avgMs<00>maxMs <00><00> <00><00>maxTime<00>user
<00><00><00> <00>kjava/lang/String
startsWith<00>learning<00>Service
<00><00> <00><00>contains(Ljava/lang/CharSequence;)Z<00>
Controller<00>Mapper listBeansCodeLineNumberTableLocalVariableTablethis5Lcom/example/scaffold/learning/IocLearningController; beanNames[Ljava/lang/String;resultLjava/util/Map;LocalVariableTypeTable5Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; Signature7()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;RuntimeVisibleAnnotations4Lorg/springframework/web/bind/annotation/GetMapping;value/beans getBeanDetail#(Ljava/lang/String;)Ljava/util/Map;beanLjava/lang/Object;clazzLjava/lang/Class;e*Lorg/springframework/beans/BeansException;Ljava/lang/String;Ljava/lang/Class<*>; StackMapTableMethodParametersI(Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>; /beans/{name}"RuntimeVisibleParameterAnnotations6Lorg/springframework/web/bind/annotation/PathVariable;injectionTypes7()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;/injection-typesscopes/scopesgetPerformancestats[Ljava/util/Map<Ljava/lang/String;Lcom/example/scaffold/aop/PerformanceAspect$MethodStats;>; /performanceresetPerformance5Lorg/springframework/web/bind/annotation/PostMapping;/performance/reset_(Lorg/springframework/context/ApplicationContext;Lcom/example/scaffold/aop/PerformanceAspect;)Vlambda$getPerformance$1\(Ljava/util/Map;Ljava/lang/String;Lcom/example/scaffold/aop/PerformanceAspect$MethodStats;)Vkey8Lcom/example/scaffold/aop/PerformanceAspect$MethodStats;Jlambda$listBeans$0
SourceFileIocLearningController.java8Lorg/springframework/web/bind/annotation/RestController;8Lorg/springframework/web/bind/annotation/RequestMapping;/api/learning/ioc NestMembers;@com/example/scaffold/learning/IocLearningController$LearningBeanBootstrapMethods>(Ljava/lang/Object;)Z@
A 3kkDBean not found: F'(Ljava/lang/Object;Ljava/lang/Object;)VH
I ./KM(Ljava/lang/String;Lcom/example/scaffold/aop/PerformanceAspect$MethodStats;)VM
NOP QR"java/lang/invoke/LambdaMetafactory metafactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;T
UVW zX$java/lang/invoke/StringConcatFactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClasses MethodStats LearningBean]%java/lang/invoke/MethodHandles$Lookup_java/lang/invoke/MethodHandlesLookup!B<00><00> <00><00><00>Z*<2A><01>L<> Y<>M,+<2B><><15>W,!+<2B>#<23>)<00>-<00>3<00>7<00>W,;+<2B>#<23>3<00>7<00>W,<2C>*
+
-. /,01263;/A4X6 Z
PH H
   [so X*<2A>+<2B>=M,<2C>ANG+I-<2D>KQ-<2D>SV-<2D>X<>\`-<2D>b<>\f*<2A>+<2B>h<00>l<>n<>p<>Mv+<2B>x<00>|<7C>JKt. ? @BDE"F+G3HGBKJLK4 @;L XXH ;}<03>E<00>BL <00><00><00><00><00><00><00><00><00><00><00><><00>BL <00><00><00><00><00><00><00><00><00><00><00>B<><00>tH  [s !<00>><12><12><12><12><12><12><12><><00><>T  " [s#$<00>B
l<12>n<12><12><12><12><12><12><12><><00><>a    [s%&<00><00>*<2A><00><><00>L<EFBFBD> Y<>M+,<2C><00><00><00>,<2C>opr ' '(
   [s)*<00>A*<2A><00><><00><12><12><12><12><>°
<00><00>  " +[s,-M*<2A><00>*+<2B>*,<2C><00><> <00><00> <00>
./<00> d,<2C>ƶ<00><00>mB,<2C>Զ<00> <09><>!,<2C>Զ<00>m<EFBFBD> 7*+<12>,<2C>Զ̸<00><12>,<2C><00><≯<00><12>!<21><00><12><05><00><12>,<2C><00><≯ٸ<00><>W<>*
s t'v/w;xDyKzT{Zvc}4dd0d1 X<00>2'=<00>2<02>$@
3kq3*<12><><00><>'*<12><><00><>*<12><><00><>*<12><><00><> *<12><><00><><04><03>0120 3H-@45 67[s89:<L=?BSCLEGJY<00><00>Z :[ \^`