TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
web.xml中classpath:和classpath*:有什么区别?
4 |7 }& q3 |" K9 ~% S: }" w5 Nclasspath:只会到你的class路径中查找找文件;
1 M: o7 t. ^. r* Uclasspath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.) y' _: j; x8 d0 }5 S$ {
存放位置:
( N/ h2 m3 J5 k/ e" J2 _1:src下面 需要在web.xml中定义如下:1 V9 }8 t- B$ |2 P# ^; G# _' i9 w
<context-param>7 u7 o+ O+ u% h# R
<param-name>contextConfigLocation</param-name>( C# Y- i! {- ]. m' b( ?/ w" ]+ u+ y4 x
<param-value>classpath:applicationContext.xml</param-value>8 P# x8 I6 z0 L; `$ ~3 I! c) ~
</context-param>
: T' f9 B3 z5 `: Q9 ?( F2:WEB-INF下面 需要在web.xml中定义如下:
/ l1 O# L, p* b& U. n0 k1 q6 N4 V2 u<context-param>
6 z8 K) W/ P- S. |9 q0 Y% S<param-name>contextConfigLocation</param-name>
' Z1 i7 t! F; J: d/ [5 U, b* s<param-value>WEB-INF/applicationContext*.xml</param-value>
5 H. w+ V$ F: j8 A) @% \: D, w( a</context-param>! n% n$ |! g* Q! S' z: `1 j& A
web.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:5 ^, D0 P m2 O w( [" y" F
struts2的1个+N个路径:src+src(可配置)名称:struts.xml+N spring的1个路径:! E% W8 D9 V' X$ N+ M% R' p+ k% b& ^
src名称:applicationContext.xml ibatis的1个+N个路径:
( l4 q* m3 z+ t3 |- L2 Psrc+src(可配置)名称:SqlMapConfig.xml+N
# N$ n0 p) ^9 z1 ?3 p2 A; i部署到应用服务器(tomcat)后,src目录下的配置文件会和class文件一样,自动copy到应用的classes目录下
G p4 \+ t9 H" ]4 Hspring的配置文件在启动时,加载的是web-info目录下的applicationContext.xml,
0 Y. ]3 A6 W6 y) E运行时使用的是web-info/classes目录下的applicationContext.xml。
, ^" C+ X/ g' `' h; R配置web.xml使这2个路径一致:$ \/ y2 c$ h$ o/ l
<context-param>' d- l0 U4 \5 g. b
<param-name>contextConfigLocation</param-name>0 q, ^7 I- q% @& h$ {- G& i) r
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>: z* [+ v+ y7 Y2 g2 ?, N* N
</context-param>( X8 o* P1 r& A. K3 s- W
多个配置文件的加载+ n* c4 s; k0 p' R/ L
<context-param>
$ g- }7 P) |& b! O o<param-name>contextConfigLocation</param-name>
1 [+ v- K4 |; j7 r k$ G<param-value>! D/ G( B" S) s* P4 E
classpath*:conf/spring/applicationContext_core*.xml,, l, P, L* T' q: Z) F6 ~: k% ^" Z
classpath*:conf/spring/applicationContext_dict*.xml,& _- A+ {" b' x4 Y- `) K
classpath*:conf/spring/applicationContext_hibernate.xml
' k9 v' b# X$ `9 g& i0 Y2 L5 a2 w</param-value> </context-param>
, A2 [& K$ @+ y( KcontextConfigLocation参数定义了要装入的Spring配置文件。& s0 _1 P& G! v9 R% R3 q
首先与Spring相关的配置文件必须要以"applicationContext-"开头,9 i; F+ y3 E$ @7 U1 O
要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
9 P3 I# f! p$ |- \( o还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。$ D% S9 C' k3 w2 |' p7 g0 a
这样程序看起来不会很乱。- I* ]8 c; S( E" r
在web.xml中的配置如下:
1 V7 R% F* A" k- Y6 MXml代码9 k1 c8 w2 I+ }6 ^/ J0 T
<context-param>, d+ a" p. x" W5 F
<param-name>contextConfigLocation</param-name>
; b! j! E8 k# F$ R<param-value>classpath*:**/applicationContext-*.xml</param-value># @- C; i) ^% O
</context-param>
% v8 e% v( _5 y"**/"表示的是任意目录;
D/ t8 B0 M! b2 n4 m"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
5 L, {1 E; R' I你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:/ f2 h! c2 n6 S; r. Q# P+ h+ Y+ l
<!--Spring的配置-->, Y. O6 v4 _" h/ ?
<context-param>
. Q* [6 S/ O8 F x6 I: j- \- V Y" i<param-name>contextConfigLocation</param-name>- m. p( G$ g7 h& R6 n* T/ e
<param-value>classpath:/spring/applicationContext-*.xml</param-value>
; {: x5 ?1 F3 z) M</context-param>
. }; _5 s5 o# g: F) }$ `5 k! {- G) @, e0 Y8 o2 e* [
|
|