<p>在spring配置文件裏,能夠用classpath:前綴,來從classpath中加載資源</p> <p>好比在src下有一個jdbc.properties的文件,能夠用以下方法加載: </p> <p><bean id="propertyConfigurer" <br />          class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <br />          <property name="locations"> <br />               <list> <br />                    <value>classpath:jdbc.properties</value> <br />               </list> <br />          </property> <br />     </bean></p> <p>對於打包在jar包中的資源,也能夠用一樣的方式:</p> <p><import resource="classpath:META-INF/cxf/cxf.xml" /></p> <p>另一種很像的方式,是使用classpath*:前綴,好比 </p> <p><property name="mappingLocations"> <br />               <list> <br />                    <value>classpath*:/hibernate/*.hbm.xml</value> <br />               </list> <br />          </property></p> <p>classpath:與classpath*:的區別在於,前者只會從第一個classpath中加載,然後者會從全部的classpath中加載  <br />若是要加載的資源,不在當前ClassLoader的路徑裏,那麼用classpath:前綴是找不到的,這種狀況下就須要使用classpath*:前綴  <br />另外一種狀況下,在多個classpath中存在同名資源,都須要加載,那麼用classpath:只會加載第一個,這種狀況下也須要用classpath*:前綴  <br />可想而知,用classpath*:須要遍歷全部的classpath,因此加載速度是很慢的,所以,在規劃的時候,應該儘量規劃好資源文件所在的路徑,儘可能避免使用classpath*</p>spring