spring婧愮爜闃呰鈥斺€?spring-core-3.2.9
spring-core鏄痵pring涓€绯诲垪妗嗘灦鐨勫熀鏈伐鍏峰寘锛屽叾涓富瑕佸寘鎷嚑绫诲伐鍏凤細瀛楄妭鐮佸寮恒€佽闂敞瑙c€佹暟鎹被鍨嬭浆鎹㈢瓑銆?/p>
package璇存槑锛?/p>
org.springframework.asm锛氬瓧鑺傜爜澧炲己宸ュ叿asm
org.springframework.cglib锛氬瓧鑺傜爜澧炲己宸ュ叿cglib
org.springframework.core锛?/p>
org.springframework.core.annotation锛氭柟渚胯闂敞瑙g殑宸ュ叿
org.springframework.core.convert锛氭暟鎹被鍨嬭浆鎹㈠伐鍏?/p> org.springframework.core.enums锛氬湪jdk5涔嬪墠锛宻pring鑷繁瀹炵幇鐨勬灇涓惧姛鑳姐€傜洰鍓嶅凡寮冪敤銆?
org.springframework.core.env锛氱郴缁熺幆澧冿紙jdk鐜鍙傛暟锛歋ystem.getProperties()銆丼ystem.getenv()锛?/p>
org.springframework.core.io锛氳闂祫婧愶紙涓昏鏄枃浠剁郴缁燂紝涔熸湁瀛楄妭娴併€乯boss VFS锛夌殑宸ュ叿
org.springframework.core.serializer锛歫ava瀵硅薄鐨勫瓧鑺傛祦搴忓垪鍖栧拰鍙嶅簭鍒楀寲宸ュ叿
org.springframework.core.style锛氱敤鏉ユ帶鍒秊ava瀵硅薄杈撳嚭涓簊tring鐨剆tring椋庢牸
org.springframework.core.task锛氬皝瑁呬簡涓€濂楀悓姝ュ拰寮傛鎵ц浠诲姟鐨別xecutor銆傦紙娌℃湁浣跨敤绾跨▼姹狅級
org.springframework.core.type锛氳闂甤lass meta鐨勫伐鍏?/p>
org.springframework.util锛氬叾浠栧伐鍏凤紝涓巆ore鍖呬笉鍚岀殑鏄紝杩欎釜鍖呯殑宸ュ叿鍙互鐙珛浜巗pring妗嗘灦鑰屽瓨鍦紱鑰宑ore宸ュ叿涓昏杩樻槸涓簊pring妗嗘灦鎵€鐢紝涓巗pring缁撳悎姣旇緝绱у瘑銆?/p>
聽
聽
------------------------org.springframework.core.annotation-------------------------
AnnotationAttributes鏈川涓婃槸涓€涓狹ap<String, Object>闆嗗悎锛岀户鎵縇inkedHashMap锛岀敤浜庝繚瀛樻煇涓敞瑙e疄渚嬬殑鍏ㄩ儴灞炴€э紙灞炴€у悕鍜屽搴旂殑灞炴€у€硷級銆?/p>
OrderComparator锛屾槸Ordered瀵硅薄鐨勬瘮杈冨櫒锛屽澶栨彁渚涗簡涓や釜闈欐€佺殑鎺掑簭鏂规硶public static void sort(List<?> list)銆乸ublic static void sort(Object[] array)銆?/p>
AnnotationAwareOrderComparator 鏄OrderComparator鐨勫寮猴紙缁ф壙锛夛紝鍙互瀵筄rdered瀵硅薄銆佷娇鐢ˊOrder娉ㄨВ鐨勫璞¤繘琛屾瘮杈冦€傝窡OrderComparator涓€鏍锋彁渚涗簡濡備笂涓や釜闈欐€佺殑鎺掑簭鏂规硶銆?/p>
AnnotationUtils涓寘鍚簡寰堝姣旇緝濂界敤鐨勬柟娉曪細
getAnnotation(AnnotatedElement, Class<T>)
getAnnotations(Method)
getAnnotation(Method, Class<A>)锛屽拰getAnnotation(AnnotatedElement, Class<T>)涓€鏍疯兘鑾峰彇鍑芥暟涓婇潰娉ㄨВ锛屾澶栬繕鑳芥纭鐞嗙紪璇戝櫒鐢熸垚鐨刡ridge methods銆?/p>
聽
findAnnotation(Method, Class<A>)
findAnnotation(Class<?>, Class<A>)
findAnnotationDeclaringClass(Class<? extends Annotation>, Class<?>)鍦╟lazz鍙婂叾鐖剁被涓婇€掑綊鏌ユ壘娉ㄨВ锛屽鏋滄湁锛屽垯杩斿洖娉ㄨВ鎵€鍦ㄧ殑clazz銆?/p>
findAnnotationDeclaringClassForTypes(List<Class<? extends Annotation>>, Class<?>)涓巉indAnnotationDeclaringClass涓庡敮涓€涓嶅悓鐨勬槸锛屽畠鏀寔List涓殑澶氫釜娉ㄨВ锛屽彧瑕佹煡鎵惧埌鍏朵腑涓€涓敞瑙o紝鍗宠繑鍥炶娉ㄨВ鎵€鍦ㄧ殑clazz銆?/p>
getAnnotation*涓巉indAnnotation*鐨勫尯鍒槸锛氬墠鑰呮槸璁块棶class鑷韩鐨勬敞瑙o紝鑰屽悗鑰呮槸鏌ユ壘class鍙婂叾鐖剁被銆佹帴鍙d笂鐨勬敞瑙c€?/p>
聽
isAnnotationDeclaredLocally(Class<? extends Annotation>, Class<?>)鍒ゆ柇璇ユ敞瑙f槸鍚﹀氨鍦ㄨclass涓婏紙涓嶅寘鎷class鐨勬帴鍙e拰鐖剁被锛夈€?/p>
isAnnotationInherited(Class<? extends Annotation>, Class<?>)涓巌sAnnotationDeclaredLocally鐩稿弽锛屽垽鏂娉ㄨВ鏄惁灏卞湪璇lass鐨勬帴鍙f垨鐖剁被涓娿€?/p>
聽
getAnnotationAttributes(Annotation)
getAnnotationAttributes(Annotation, boolean)
getAnnotationAttributes(Annotation, boolean, boolean)
鑾峰彇娉ㄨВ鐨勬墍鏈夊睘鎬э紙杩斿洖AnnotationAttributes锛?/p>
聽
getValue(Annotation)
getValue(Annotation, String)
getDefaultValue(Annotation)
getDefaultValue(Annotation, String)
getDefaultValue(Class<? extends Annotation>)
getDefaultValue(Class<? extends Annotation>, String)
鑾峰彇娉ㄨВ鐨剉alue鍊间互鍙妚alue鐨勯粯璁ゅ€?/p>
------------------------org.springframework.core.convert-------------------------
瀵瑰鎻愪緵鐨凙PI鎺ュ彛涓昏鏄疍efaultConversionService
TypeDescriptor鏄〃绀哄java涓墍鏈夋暟鎹被鍨嬬殑鎻忚堪锛屽寘鎷珻ollection銆丮ap銆佽嚜瀹氫箟Object銆佹暟缁勩€佸熀鏈暟鎹被鍨嬪強鍏跺寘瑁呯被鍨嬨€傚畠琚垚瀵瑰湴鐢ㄤ簬
GenericConversionService涓紝琛ㄧず浠巗rc绫诲瀷鍒皌arget绫诲瀷鐨勮浆鎹紝浼氭湁涓€涓浉搴旂殑converter瀹炵幇涓庝箣瀵瑰簲銆?/p>
鎶夾bstractDescriptor鐨勫瓙绫诲疄渚嬭浆涓篢ypeDescriptor锛屾彁渚涗簡鍑犱釜闈欐€佸伐鍘傛柟娉曪細
valueOf(Class<?>)
collection(Class<?>, TypeDescriptor)
map(Class<?>, TypeDescriptor, TypeDescriptor)
array(TypeDescriptor)
nested(MethodParameter, int)
nested(Field, int)
nested(Property, int)
forObject(Object)
涓轰簡鎻愰珮鎬ц兘锛屽鍩烘湰鏁版嵁绫诲瀷鍙婂叾鍖呰绫诲瀷鍋氫簡cache銆偮?/p>
------------------------org.springframework.core.env-------------------------
聽浠庣被鍥句腑锛屽彲浠ョ湅鍑猴紝鏈€缁堢洰鐨勬槸鎻愪緵浜嗕竴涓唬琛ㄧ郴缁熺幆澧冪殑StandardEnvironment锛屽寘鎷System.getProperties()銆丼ystem.getenv()鐨勮闂€傚湪spring web涓璖tandardServletEnvironment缁ф壙浜哠tandardEnvironment锛屽張澧炲姞瀵箂ervlet瀹瑰櫒绯荤粺鍙傛暟鐨勮闂€?/p>
聽
聽------------------------org.springframework.core.io------------------------
IO鍖呭瓨鍦ㄧ殑鎰忎箟鏄細
渚涘閮ㄨ皟鐢ㄧ殑鍏ュ彛API涓昏鏄細FileSystemResourceLoader銆丆lassRelativeResourceLoader銆?/p>
spring web銆乻pring context绛夋ā鍧椾篃浼氳嚜瀹氫箟瑕嗙洊/瀹炵幇ResourceLoader鐨勫瓙绫诲拰瀛愭帴鍙c€?/p>
------------------------org.springframework.core.serializer------------------------
聽java瀵硅薄鐨勫瓧鑺傛祦搴忓垪鍖栧拰鍙嶅簭鍒楀寲銆傛瘮杈冪畝鍗曪紝鐣ュ幓涓嶈皥銆?/p>
------------------------org.springframework.core.style------------------------
鐣ャ€?/p>
------------------------org.springframework.core.task------------------------
1.浠嶶ML鍥句腑涓嶉毦鐪嬪嚭锛岃鍖呬富瑕佹槸涓簊pring scheduling妯″潡鎻愪緵鎺ュ彛鏀寔銆?/p>
2.瀹炵幇浜嗕袱涓€傞厤鍣紝鍒嗗埆鏄細TaskExecutorAdapter锛屽皢Executor閫傞厤涓篢askExecutor锛汦xecutorServiceAdapter锛屽皢TaskExecutor閫傞厤涓篍xecutor/ExecutorService銆?/p>
3.鎻愪緵浜嗕竴涓畝鍗曠殑寮傛TaskExecutor鐨勫疄鐜帮細SimpleAsyncTaskExecutor銆傚畠缁ф壙CustomizableThreadCreator锛岀敤鏉ュ垱寤虹嚎绋嬪苟缁欑嚎绋嬪懡鍚嶏紙鏈夋剰涔夌殑鍚嶅瓧锛夛紝闇€瑕佹敞鎰忕殑鏄畠骞舵病鏈変娇鐢ㄧ嚎绋嬫睜銆侰oncurrencyThrottleSupport锛氬湪SimpleAsyncTaskExecutor涓敤浜庢帶鍒跺苟鍙戯紝搴旂敤浜嗙敓浜ц€?娑堣垂鑰呮ā寮忋€?/p>
------------------------org.springframework.core.type------------------------
聽瀵瑰鏆撮湶鐨勩€佸彲鐩存帴浣跨敤鐨凙PI鎺ュ彛涓猴細CachingMetadataReaderFactory銆傚熀浜嶢SM锛屼娇鐢ㄤ簡璁块棶鑰呰璁℃ā寮忥紝浣跨敤cache鏉ラ伩鍏嶄簡瀵筩lass鐨勯噸澶嶅姞杞藉拰瑙f瀽銆?/p>
------------------------org.springframework.core.*.class------------------------
AliasRegistry銆丼impleAliasRegistry锛氬埆鍚嶆敞鍐岋紝淇濆瓨鐨勬槸Map from alias to canonical name锛岃В鍐充簡鍒悕寰幆鐨勯棶棰樸€?/p>
CollectionFactory锛氭彁渚涗簡鍑犱釜闈欐€佸嚱鏁帮紝Collection createCollection(Class<?> collectionType, int initialCapacity)锛孧ap createMap(Class<?> mapType, int initialCapacity)绛夌瓑銆?/p>
Constants锛氭彁渚涗簡瀵逛竴涓被涓璸ublic static final涓斿悕瀛椾负澶у啓鐨勫瓧娈电殑璁块棶銆?/p>
ControlFlow銆丆ontrolFlowFactory锛氬垽鏂綋鍓嶈繍琛岀殑鍫嗘爤涓槸鍚﹀寘鍚煇涓猚lass鎴栨煇涓嚱鏁般€?/p>
DecoratingClassLoader锛氫緵鍏朵粬鍖呮潵缁ф壙鐨勪竴涓娊璞$被锛屽姞杞芥椂鍙互璁╀娇鐢ㄨ€呮湁閫夋嫨鐨勬帓闄ゆ帀鏌愪簺class鍜屾煇浜沺ackage涓嬬殑class銆?/p>
ExceptionDepthComparator锛氱敤鏉ユ瘮杈僥xception鍜宼argetException娣卞害鐨勬瘮杈冨櫒銆傚澶栨彁渚涗簡涓€涓潤鎬佸伐鍏锋柟娉曪細Class<? extends Throwable> findClosestMatch(Collection<Class<? extends Throwable>> exceptionTypes, Throwable targetException)
GenericCollectionTypeResolver锛氫竴涓緢鏈夌敤銆佸緢寮哄ぇ鐨勫伐鍏风被锛岀敤鏉ヨ幏鍙朇ollection涓厓绱犵殑绫诲瀷銆丮ap涓殑Key/Value绫诲瀷銆?/p>
GenericTypeResolver锛氬伐鍏风被锛岃幏鍙栧嚱鏁扮殑鍙傛暟绫诲瀷銆佽繑鍥炵被鍨嬨€?/p>
聽
LocalVariableTableParameterNameDiscoverer銆丳arameterNameDiscoverer锛氬熀浜嶢SM锛岃幏鍙栧嚱鏁板拰鏋勯€犲櫒鐨勫弬鏁板悕瀛椼€?/p>
SpringProperties锛氬姞杞絪pring.properties鍒癙roperties涓紝骞惰闂叾涓殑灞炴€с€?/p>
------------------------org.springframework.util------------------------
BooleanComparator锛氬Boolean鏁版嵁杩涜鎺掑簭锛堥『搴忓拰閫嗗簭锛夌敤鍒扮殑姣旇緝鍣紱
ComparableComparator锛氶€傞厤Comparable鐨凜omparator銆?/p>
CompoundComparator锛氱粍鍚堟ā寮忋€傚涓狢omparator缁勫悎鎴愪竴涓狢omparator
InstanceComparator锛欳ompares objects based on an arbitrary class order
InvertibleComparator锛氬彲閫嗙殑姣旇緝鍣ㄣ€傦紙瑁呴グ鑰?聽璁捐妯″紡銆傦級
NullSafeComparator锛氬皢涓€涓彧鑳藉闈瀗ull瀵硅薄鎺掑簭鐨勬瘮杈冨櫒锛岃楗版垚涓€涓彲浠ュnull瀵硅薄鎺掑簭鐨勬瘮杈冨櫒銆傦紙瑁呴グ鑰?聽璁捐妯″紡銆傦級
ClassUtils锛歝lass宸ュ叿绫汇€傚寘鎷杞絚lass锛岃闂甤lass鍚嶅瓧銆佸寘鍚嶃€佸嚱鏁般€佹瀯閫犲櫒銆乧lass绫诲瀷鏄惁鏄熀鏈被鍨嬨€佹帴鍙g瓑绛夈€傝繕璁板緱Classloader.loadClass()涓嶤lass.forName()鐨勫尯鍒悧锛?/p>
CollectionUtils锛氬皝瑁呬簡灏戞暟鍑犱釜闆嗗悎宸ュ叿鐨勯潤鎬佹柟娉曘€?/p>
CompositeIterator锛氬涓凯浠f湡缁勫悎鍒颁竴璧风殑杩唬鏈燂紝浣跨敤浜嗙粍鍚堣璁℃ā寮忋€?/p>
ConcurrentReferenceHashMap锛氫笌ConcurrentHashMap涓嶅悓鐨勬槸锛屽畠鐨刱ey鍜寁alue瀛樼殑鏄槸杞紩鐢ㄦ垨寮卞紩鐢紙鍙湪鏋勯€犲櫒涓寚瀹氾級
聽PropertiesPersister銆?strong>DefaultPropertiesPersister锛氬疄鐜颁簡瀵筆roperties鐨勫姞杞藉拰瀛樺偍銆?/p>
聽FileCopyUtils锛氬湪File銆乥yte[]銆両O娴佷箣闂寸殑杞崲銆?/p>
聽FileSystemUtils锛氬鏂囦欢銆佹枃浠跺す鐨勯€掑綊鍒犻櫎鍜岄€掑綊鎷疯礉銆?/p>
LinkedCaseInsensitiveMap锛氬key澶у皬鍐欎笉鏁忔劅鐨凩inkedHashMap瀹炵幇銆?/p>
LinkedMultiValueMap锛氫竴涓猭ey鏄犲皠澶氫釜value鐨凪ap缁撴瀯銆?/p>
MethodInvoker锛氬皢鏂规硶銆乷bject銆乧lass銆佹柟娉曞弬鏁?灏佽杩涙潵锛屼互渚涜鏂规硶鐨勮皟鐢ㄣ€?/p>
NumberUtils锛氬皢string杞负鍒跺畾绫诲瀷鐨凬umber銆?/p>
ObjectUtils锛氬疄鐜颁簡 鍩烘湰鏁版嵁绫诲瀷鍙婂叾鏁扮粍鐨刪ashcode锛屽熀鏈暟鎹被鍨嬪強鍏舵暟缁勭殑toString()鏂规硶绛夌瓑銆?/p>
PropertyPlaceholderHelper锛氭彁渚涗簡涓や釜閲嶈浇鍑芥暟replacePlaceholders锛岀敤鏉ユ浛鎹㈠瓧绗︿覆value涓腑鐨勫崰浣嶇銆?/p>
ReflectionUtils锛氭彁渚涗簡璁块棶field銆乵ethod銆佸嚱鏁拌皟鐢ㄧ瓑宸ュ叿鏂规硶銆?/p>
SerializationUtils锛歫ava搴忓垪鍖栧拰鍙嶅簭鍒楀寲
ResourceUtils锛歎tility methods for resolving resource locations to files in the聽file system.
StopWatch锛氬浠诲姟鎵ц鏃堕棿鐨勭粺璁★紝鍖呮嫭鎬绘椂闂淬€佹瘡涓换鍔$殑鎵ц鏃堕棿銆?/p>
StreamUtils锛欼O瀛楄妭娴佸拰瀛楄妭鏁扮粍涔嬮棿鐨勬嫹璐濄€?/p>
StringUtils锛氬瓧绗︿覆涓虹┖銆侀暱搴︺€乼rim鎿嶄綔銆佺瓑绛夈€?/p>
SystemPropertyUtils锛氫笌PropertyPlaceholderHelper涓嶅悓鐨勬槸锛屽畠浣跨敤System.getProperty()鏉ユ浛鎹㈠崰浣嶇銆?/p>
TypeUtils锛歜oolean isAssignable(Type lhsType, Type rhsType)
聽
聽
聽