TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
web.xml中classpath:和classpath*:有什么区别?
7 z4 O- R5 K" p6 d' \, n- |classpath:只会到你的class路径中查找找文件;
. e1 f0 R5 z' s, [classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
3 }6 Z3 e3 ^8 j7 F存放位置:
5 a a# j- q2 E2 U3 F7 z1:src下面 需要在web.xml中定义如下:
* w0 w1 W0 o L+ S<context-param>7 V/ z2 I1 L8 n$ x6 ^) s, {
<param-name>contextConfigLocation</param-name>) M+ X: ?" ~ y& v" e
<param-value>classpath:applicationContext.xml</param-value>7 ~) ]3 Q" l9 i7 M; R: B
</context-param>
- i$ c8 ~ D0 C" i2:WEB-INF下面 需要在web.xml中定义如下:% ^% C5 }& s9 \; T/ Z X2 B
<context-param>
1 G* N' g( @2 P5 r<param-name>contextConfigLocation</param-name>) \$ U0 L, ^/ H. Q/ w
<param-value>WEB-INF/applicationContext*.xml</param-value>
e! r. Q# n5 ^. o2 q6 G</context-param>0 {$ r6 ?/ H1 |8 v, n: l7 e( E, ]
web.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:. L5 O% i# {! e% s0 R& a
struts2的1个+N个路径:src+src(可配置)名称:struts.xml+N spring的1个路径:* e! [' Z7 \/ w [$ C: d% v# |$ b0 K
src名称:applicationContext.xml ibatis的1个+N个路径:
2 z0 S: |! o4 I0 A3 csrc+src(可配置)名称:SqlMapConfig.xml+N1 P; V; i. _6 R$ H* u
部署到应用服务器(tomcat)后,src目录下的配置文件会和class文件一样,自动copy到应用的classes目录下
6 E5 C1 u" j% ]$ c3 Ispring的配置文件在启动时,加载的是web-info目录下的applicationContext.xml,# T8 v- O, C, \
运行时使用的是web-info/classes目录下的applicationContext.xml。
8 |" Y m5 W( h$ h配置web.xml使这2个路径一致:
7 a- \; V# y6 G" l+ L) p<context-param>' p. S z+ x1 ]
<param-name>contextConfigLocation</param-name>
1 M* x( h f6 T- x; d; g6 z4 u<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
1 m4 m# D( H7 L. m0 b* F" H) s( }</context-param>
" [8 G" C+ s, x; N9 F; h: k( n多个配置文件的加载
5 x# L. B b, C" E% l: V9 Z' k<context-param>. T' T2 N3 C n( h6 U
<param-name>contextConfigLocation</param-name>" ~5 n( A) y4 e6 G* ]1 s4 {6 g) ?; K
<param-value>
" y2 d' K" h( Q1 G- p6 jclasspath*:conf/spring/applicationContext_core*.xml,# [( O2 I2 U: W% n4 f4 ]
classpath*:conf/spring/applicationContext_dict*.xml,0 J; Q" A5 }* G1 f0 L1 {( f
classpath*:conf/spring/applicationContext_hibernate.xml
& |( R8 q R& k- z# {</param-value> </context-param>+ R- K j$ J6 p% I
contextConfigLocation参数定义了要装入的Spring配置文件。+ G; H% ]0 F) H- y) o
首先与Spring相关的配置文件必须要以"applicationContext-"开头,
% D4 p7 m W2 S- A5 M要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。6 }3 y$ w5 S( G: t' o& J) `" [
还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。! h$ h. D3 G8 f n1 O
这样程序看起来不会很乱。# S! F8 M' Q7 j% P, s$ R. n
在web.xml中的配置如下:
) `! I4 h- q! ^9 d; l. K1 GXml代码
& Y! p* @) R& @5 y4 \9 e<context-param>! F7 n9 k- R1 [
<param-name>contextConfigLocation</param-name> Q+ i& n% H8 y2 s% @, T9 r
<param-value>classpath*:**/applicationContext-*.xml</param-value>1 A2 L. c& W1 Z4 m" f
</context-param>
7 a" k5 U% b" C: j, F"**/"表示的是任意目录;) z, v- |* u) K7 V" j
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。! c( j9 z; w1 q, }& o5 | y
你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:
" H6 x1 Q/ p* r. x<!--Spring的配置-->) U3 n! u. ^, @$ `# ? X" B
<context-param>0 H' J% }/ s) Z4 z4 ~! Y
<param-name>contextConfigLocation</param-name>
: v" @0 p- |: K1 ^<param-value>classpath:/spring/applicationContext-*.xml</param-value> Y: N- G) R/ y, w: D; x# i
</context-param>
g% r' G% N9 D) w$ c% e
# Q, ]- X. J3 M. G$ s" b |
|