TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
web.xml中classpath:和classpath*:有什么区别?7 q& w. K7 _: f
classpath:只会到你的class路径中查找找文件;
8 g* [$ c7 S$ P) G9 ?. gclasspath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.4 B3 H( [* c- T0 B' u7 _* T# n/ @
存放位置:
5 ]. G7 A2 R# k1:src下面 需要在web.xml中定义如下:
4 J$ V, v0 U& e* @' P3 a$ e<context-param>) I/ l- j3 a6 T0 R& A
<param-name>contextConfigLocation</param-name>- M3 j. j. R. a, p/ d
<param-value>classpath:applicationContext.xml</param-value>
+ O& b/ B; I" t% x4 L. I6 r- n</context-param>
8 G1 {4 D5 ?' \( n# |) ]+ `2:WEB-INF下面 需要在web.xml中定义如下:
5 R5 S) i! P$ Y- A% c; j<context-param>
5 c$ _ i0 [8 Y( @. I<param-name>contextConfigLocation</param-name>1 `; z; e8 B+ n' M4 Q
<param-value>WEB-INF/applicationContext*.xml</param-value>/ g; {/ z$ G: m2 l$ B
</context-param>
' o. b0 D. y0 l) }8 ~' kweb.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:: L. X) P' Q- ]+ t& A
struts2的1个+N个路径:src+src(可配置)名称:struts.xml+N spring的1个路径:
. D' {+ D+ a, g8 \2 vsrc名称:applicationContext.xml ibatis的1个+N个路径:
# U" g6 z7 z3 [2 z4 gsrc+src(可配置)名称:SqlMapConfig.xml+N
% G" _8 l/ G1 H/ O" o8 }5 Q- I: X3 l部署到应用服务器(tomcat)后,src目录下的配置文件会和class文件一样,自动copy到应用的classes目录下
# g/ Y# F( ?+ p) c( Y5 ~ sspring的配置文件在启动时,加载的是web-info目录下的applicationContext.xml,1 f. ?' L0 W! ~+ [7 n
运行时使用的是web-info/classes目录下的applicationContext.xml。
6 P) x: [9 M2 i8 h$ j( d配置web.xml使这2个路径一致:
+ n5 Y0 `7 [( [$ F<context-param>
. p& J: a w' f% U8 O4 f) Q2 [% a1 K<param-name>contextConfigLocation</param-name>
& I4 ?& l, U% Z M o4 Z; ]% h7 x6 g<param-value>/WEB-INF/classes/applicationContext.xml</param-value>0 V6 `' q7 u0 t1 H7 }
</context-param>
: u: a: o, ?& x- f/ @多个配置文件的加载
% i- V; @2 O& v' j<context-param>; Y1 o1 E( L& R' t- h% b+ k4 @
<param-name>contextConfigLocation</param-name>! `& M. j; {) X
<param-value>6 p! @! G: `$ s' [- `6 v* m" R- d
classpath*:conf/spring/applicationContext_core*.xml,
: O, d- j; N) Z' P. O9 oclasspath*:conf/spring/applicationContext_dict*.xml,
% y2 l2 M1 z8 v5 Rclasspath*:conf/spring/applicationContext_hibernate.xml) b% K# M% Y' f0 z/ Y9 \
</param-value> </context-param>
8 H W3 m& z H" B5 q1 u/ N/ LcontextConfigLocation参数定义了要装入的Spring配置文件。& `& I; O" n7 A8 x: I
首先与Spring相关的配置文件必须要以"applicationContext-"开头,
: o7 P' Z! i9 h: _7 z要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。$ C/ n* h4 c4 k% K: }
还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。
' m' `- u u9 s4 _7 B& a这样程序看起来不会很乱。
. U) ]. }5 Q' `在web.xml中的配置如下:* d' J( U1 g8 d j1 r) D1 c
Xml代码$ s; d. ^) `, o
<context-param>
2 G& H2 ^$ E: F<param-name>contextConfigLocation</param-name>
4 _7 Z& S+ c6 r; n* U<param-value>classpath*:**/applicationContext-*.xml</param-value>) \) w$ S% A( J+ g
</context-param>2 j4 f' Y- a# S ?
"**/"表示的是任意目录;6 f; y7 k1 ?2 u# ?+ H
"**/applicationContext-*.xml"表示任意目录下的以"applicationContext-"开头的XML文件。
3 k0 [$ [) H1 U6 Q! l你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:
; L+ ^1 X9 d) Z* Q: I: n% |<!--Spring的配置-->- l: M% ^" f) s6 [; ~
<context-param>
5 k7 m5 t( L+ Q3 v/ Y<param-name>contextConfigLocation</param-name>+ c+ V/ O& l! c) e# {
<param-value>classpath:/spring/applicationContext-*.xml</param-value>8 |4 |1 d& `# w* Y% l
</context-param>
' N' n: d, g8 C z+ ]+ d
3 S/ C, [& f6 U1 R: [ @# I |
|