spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

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

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

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-------------------------

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

聽浠庣被鍥句腑锛屽彲浠ョ湅鍑猴紝鏈€缁堢洰鐨勬槸鎻愪緵浜嗕竴涓唬琛ㄧ郴缁熺幆澧冪殑StandardEnvironment锛屽寘鎷System.getProperties()銆丼ystem.getenv()鐨勮闂€傚湪spring web涓璖tandardServletEnvironment缁ф壙浜哠tandardEnvironment锛屽張澧炲姞瀵箂ervlet瀹瑰櫒绯荤粺鍙傛暟鐨勮闂€?/p>

聽------------------------org.springframework.core.io------------------------

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

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------------------------

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9
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------------------------

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

spring婧愮爜闃呰鈥斺€?spring-core-3.2.9

聽瀵瑰鏆撮湶鐨勩€佸彲鐩存帴浣跨敤鐨凙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)