TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
web.xml中classpath:和classpath*:有什么区别?: f8 e5 O* {; g
classpath:只会到你的class路径中查找找文件;/ B6 m7 U# n* a1 ~$ N
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.
% U" F9 L, X- B9 c1 w存放位置:/ i" |& l h0 _0 i- f5 T
1:src下面 需要在web.xml中定义如下:
# Y! k# B( y7 p5 N# H2 _) t: |% M<context-param>
% y. i z$ w. p: h" I<param-name>contextConfigLocation</param-name>/ n& } g- R4 f; C( x1 Q9 P
<param-value>classpath:applicationContext.xml</param-value>: ?4 T" e# S! Q- C; `$ K7 w
</context-param>
+ K Q; @$ O5 A6 l- I+ W, b2:WEB-INF下面 需要在web.xml中定义如下:
1 C2 q6 k) y9 j0 \9 k+ \<context-param>
% q3 c# `; N- r- B5 L<param-name>contextConfigLocation</param-name>5 I ]3 o% f5 Q H" k" n
<param-value>WEB-INF/applicationContext*.xml</param-value>
2 @) I0 ^! L. H: C8 P</context-param>
3 l! h7 x" P5 U& W' E; x) Xweb.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:
1 s, h' G0 \. i4 ^struts2的1个+N个路径:src+src(可配置)名称:struts.xml+N spring的1个路径:5 \' @2 I1 f* x
src名称:applicationContext.xml ibatis的1个+N个路径:
+ ?" i5 k1 `; [8 Csrc+src(可配置)名称:SqlMapConfig.xml+N9 A. A6 D, v& u" `. N( g/ ~9 v$ ^
部署到应用服务器(tomcat)后,src目录下的配置文件会和class文件一样,自动copy到应用的classes目录下
$ q% O C3 }$ r! j) Zspring的配置文件在启动时,加载的是web-info目录下的applicationContext.xml,
$ Z; I# D8 R* c6 C2 d- m% n* ~运行时使用的是web-info/classes目录下的applicationContext.xml。
" t. ] C; V3 @) e H配置web.xml使这2个路径一致:# i2 F2 @: Q% A+ S& i- y
<context-param>
6 [/ e. |0 G/ ?# O! M/ I<param-name>contextConfigLocation</param-name>
3 D2 i! J$ V" v' r; b! r<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
/ r. c$ N4 m2 U0 G3 Y' q</context-param>9 T0 F6 i) Y* [% Z" Y- I/ f9 I
多个配置文件的加载
$ S& h2 ]+ k8 C# z<context-param>
4 u. x1 w% }4 r7 W7 ?( L; c$ T- z<param-name>contextConfigLocation</param-name>
$ h) {- l1 X8 I, Y3 p<param-value>: n: E" h2 R* P) T
classpath*:conf/spring/applicationContext_core*.xml,
* C- A; ]& F" S+ Bclasspath*:conf/spring/applicationContext_dict*.xml,
! f- G) x+ }1 mclasspath*:conf/spring/applicationContext_hibernate.xml! g5 k: N) C- r9 m' J4 n
</param-value> </context-param>
1 y. \+ u, L5 C' V3 ocontextConfigLocation参数定义了要装入的Spring配置文件。
+ }0 D$ B" E% T. o2 m) g" B( C首先与Spring相关的配置文件必须要以"applicationContext-"开头,& e9 s1 N* W' j' Z! O ]6 I
要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。
4 q% L: [7 ^8 G9 X还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。5 S4 o; S# w7 g" P7 C/ [, g$ h
这样程序看起来不会很乱。
6 X+ {9 o) n6 R3 f6 V在web.xml中的配置如下:
& s1 w2 h$ I; U6 c' w* jXml代码
! W2 I( ?( N b5 L<context-param>/ A9 t% a: D/ c# T/ e: i
<param-name>contextConfigLocation</param-name>. c; A9 x) ~; U. H2 I( l
<param-value>classpath*:**/applicationContext-*.xml</param-value>3 Y# Y: X2 m: v, N: _8 F# e0 S
</context-param>% [& ^& T, l' K( `4 _
"**/"表示的是任意目录;6 K1 {+ o+ P8 o4 W; N: I( x
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
/ G# `# r# b, ~" v' G! D* s你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:- e" k9 Z. ^) ^# R! e3 N
<!--Spring的配置-->
1 Y; u. [) r- s+ r4 K/ R4 U; ]; T1 k8 U<context-param>
6 f2 G4 ?1 i% M- K<param-name>contextConfigLocation</param-name>
) p5 F' H( Q) P<param-value>classpath:/spring/applicationContext-*.xml</param-value>
# l# p" g! ?3 }; l</context-param>8 H" Q5 i) ~4 J
: f# J" t9 q. B$ {6 Z& r5 n
|
|