Spring classpath prefix difference

JavaRocky picture JavaRocky · Jul 20, 2010 · Viewed 64.2k times · Source

Documented here it states

This special prefix specifies that all classpath resources that match the given name must be obtained (internally, this essentially happens via a ClassLoader.getResources(...) call), and then merged to form the final application context definition.

Can someone explain this?

What is the difference between using classpath*:conf/appContext.xml as opposed to classpath:conf/appContext.xml without the asterisk.

Answer

Eugene Ryzhikov picture Eugene Ryzhikov · Jul 20, 2010

SIMPLE DEFINITION

The classpath*:conf/appContext.xml simply means that all appContext.xml files under conf folders in all your jars on the classpath will be picked up and joined into one big application context.

In contrast, classpath:conf/appContext.xml will load only one such file... the first one found on your classpath.