日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

java項(xiàng)目中Classpath路徑到底指的是哪里?

時(shí)間:2020-11-07 09:59:26 類(lèi)型:JAVA
字號(hào):    

  1、src不是classpath, WEB-INF/classes,lib才是classpath,WEB-INF/ 是資源目錄, 客戶(hù)端不能直接訪問(wèn)。

  2、WEB-INF/classes目錄存放src目錄java文件編譯之后的class文件,xml、properties等資源配置文件,這是一個(gè)定位資源的入口。

  3、引用classpath路徑下的文件,只需在文件名前加classpath:

<param-value>classpath:applicationContext-*.xml</param-value> 
<!-- 引用其子目錄下的文件,如 -->
<param-value>classpath:context/conf/controller.xml</param-value>

  4、lib和classes同屬classpath,兩者的訪問(wèn)優(yōu)先級(jí)為: lib>classes。

  5、classpath 和 classpath* 區(qū)別:

  classpath:只會(huì)到你的class路徑中查找找文件;

  classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進(jìn)行查找。

錯(cuò)誤實(shí)例:

 

  在Spring和MyBitis繼承的時(shí)候,配置mapperLocations.一開(kāi)始配置是這樣的.

  需要加載路徑為com/zhuangi01/mapper和com/zhuangzi02/mapper下的所有mapper文件

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="mapperLocations" value="classpath:com/*/mapper/*Mapper.xml;" />
</bean>

 結(jié)果一直報(bào)com/zhuangzi02/mapper下的mapper文件的某個(gè)方法找不到.

  修改成這樣就可以找到了.

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="mapperLocations" value="classpath*:com/*/mapper/*Mapper.xml;" />
</bean>

  原因是classpath:和classpath*:在spring加載資源的時(shí)候是不同的.

  classpath:只能加載找到的第一個(gè)資源文件.(上面只匹配了com/zhuangzi01/mapper/下的mapper文件,而com/zhuangzi02/mapper就忽略了)

  classpath*:能加載多個(gè)路徑下的資源文件.(com/zhuangzi01/mappercom/zhuangzi02/mapper都被加載進(jìn)來(lái)了.)


<