let's talk about Property Source design
PropertySource is a abstract class,not interface. but most root class in spring is interface. WHY?
ok,go to source code(spring 3.1):
seems like PropertySource was designed for internal use.
PropertySource objects are not typically used in isolation, but rather
through a PropertySources object, which aggregates property sources and in
conjunction with a PropertyResolver implementation that can perform
precedence-based searches across the set of PropertySources
what do you think?