该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示: : e( ]8 |# B" i# O# D8 O6 R# k
K4 Y4 q7 M% m* d* o以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 -->
# }7 X: v7 T7 S" t3 }- ] - <?xml version="1.0" encoding="UTF-8"?> e- J, W2 t; E" Y! G1 V
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
5 Z8 J3 o; C1 A* M: d! S - <beans>2 }, X; N' X& j) Z+ K
- <!-- 建立数据源 -->
" ]' |% X5 ?1 I$ W - <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">2 D6 h G- v2 G6 s/ P' ^& C; U" K
- <!-- 数据库驱动,我这里使用的是Mysql数据库 -->
, J, Z! G% U+ U4 v0 ` - <property name="driverClassName">4 h% [ t% P4 M, m) i, u
- <value>com.mysql.jdbc.Driver</value>
9 g/ W, R' @1 u& O2 V1 o5 j8 P - </property> D- ^# h& C, \5 N
- <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->& D; e# N/ Z% B# \
- <property name="url">1 T4 F S6 y1 w% H
- <value>! x( |1 g! f( x# u
- jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8
5 ]( T0 M b) z- E" i0 Q - </value>& t: t& \) i; W/ D8 `6 z2 T8 _" H
- </property>' ]+ L! ^1 g4 N- x* u1 t$ F' U
- <!-- 数据库的用户名 -->$ X* _9 q l4 h* a2 y
- <property name="username">
4 k2 J W& U1 v8 S - <value>root</value>8 O- v! r5 |# ^
- </property>
* {! ^ ~3 G+ E+ P - <!-- 数据库的密码 -->
5 ?- Q9 Z8 U# U8 C - <property name="password">$ M! K S# c5 \/ ?5 \. R/ X
- <value>123</value>! ?, Z; {. G+ x/ H& G. }& C
- </property>
9 x: p/ w. m ~# D7 } - </bean>% T& m5 T7 t/ a* C n" `* @/ O
- <!-- 把数据源注入给Session工厂 -->
( D: B9 S u l" w& y4 D/ B - <bean id="sessionFactory"6 v1 z# q* t8 j3 X: n% z2 B
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">* f* P n* ^9 S4 n. n$ K/ k" M/ ~
- <property name="dataSource">+ s1 H$ C' Y7 Y: Q8 W
- <ref bean="dataSource" />) Z, n+ Y1 ?' s9 T; ?! g* }
- </property>
" d: X( m% \; C# y) ? - <!-- 配置映射文件 -->
7 @$ A( \8 j3 U; F" e. f+ S, l - <property name="mappingResources">
% a4 ^9 D% {1 W$ @7 {" M2 R, z; }0 _ - <list>
4 H7 A1 T1 a+ _ W; Q# o - <value>com/alonely/vo/User.hbm.xml</value>3 \0 R! }. X/ G
- </list>) W( k0 v( R6 D' ]) C& i& `( L' r
- </property>+ t# y( L5 K# f8 L0 m
- </bean>
5 s- j3 h: E% `+ Z+ S - <!-- 把Session工厂注入给hibernateTemplate -->
) B! H5 `, r) p- z. u i" A - <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->7 ^: _5 z8 G9 L; O. {2 B
- <bean id="hibernateTemplate"
0 a3 |2 s: \7 T0 V( R/ `( o - class="org.springframework.orm.hibernate3.HibernateTemplate">; x! O( n" U* F' ^
- <constructor-arg>( @: O" r* q% I0 Y
- <ref local="sessionFactory" />
1 R1 i D# l8 X. A( d - </constructor-arg>
, v# W4 E/ D& |% l - </bean>
$ q, }# e5 b; z - <!-- 把DAO注入给Session工厂 -->+ c( k% i: Z& u
- <bean id="userDAO" class="com.alonely.dao.UserDAO">
) o. F3 c: q- y' u1 ]9 {8 D - <property name="sessionFactory">' }2 R g% \7 @9 v. K4 \: X3 i c
- <ref bean="sessionFactory" />: s$ ?' [3 f' ~% S
- </property>* b5 {( F- O3 W, d
- </bean>
& S( f* C# T. ~4 J* @! S+ }) V - <!-- 把Service注入给DAO -->
* J# N3 {9 j8 r4 L+ ^9 J3 a - <bean id="userService" class="com.alonely.service.UserService">
; E$ n. u3 w4 h. l$ V - <property name="userDAO">( Q/ F0 V' `' c4 G }% N
- <ref local="userDAO" />
0 U$ H9 @( ^3 h# j3 p# f - </property>2 ^* L: M, E% R" B& l. P$ P6 Q
- </bean>/ t8 s6 q. Q) \, W. ?
- <!-- 把Action注入给Service -->
: e" \ |1 Q' r8 p+ z+ \! |! ^ - <bean name="/user" class="com.alonely.struts.action.UserAction">8 \7 H' o+ _6 O1 U
- <property name="userService">
/ g# |& r: H) ~$ ^3 y5 ^) G$ b/ @/ h - <ref bean="userService" />: b. k- i6 ^" s
- </property>
: S0 t. f* L7 \1 M8 l' K, W$ p - </bean>: V% a. M+ G- t' N) w: V5 i
- </beans>
复制代码
' r) w6 Q0 ]& V0 D! K- B以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。
! W D. @. `% @0 n. D8 w, d |
|