该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示:
- a( e I! E2 h5 {
^* u% T9 @& N7 ^' F/ V% i( e9 x( M以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 -->
( Z' r1 M0 ~8 ?) U7 J9 w o$ o - <?xml version="1.0" encoding="UTF-8"?>: u& w7 J3 l/ R( d7 Q: `
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
+ t% ?, L* i5 g1 I2 p2 f. J - <beans>$ d1 ?' p+ h2 W4 ^
- <!-- 建立数据源 -->* e, \/ e+ A( f
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
8 Z3 Z- x8 ?8 w7 g# A# t - <!-- 数据库驱动,我这里使用的是Mysql数据库 -->
: q9 I. ^! m) _4 r# g) l - <property name="driverClassName">. C" |- y8 G3 U
- <value>com.mysql.jdbc.Driver</value>
: ~4 v/ p* m1 e0 z! u2 i# X( ^6 V& o! m - </property>) ~6 p9 ~4 N# a4 b0 U
- <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->7 l3 a3 H. A" `# S- C) h: G0 {7 @
- <property name="url">
5 s4 P8 Y% v( j. J) a* I @. u - <value>6 d, E7 F4 i4 a% L2 V
- jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8
2 a+ n% I0 M3 p9 z! }" o! L - </value>
& T$ a/ ?/ W7 T, s - </property>
# J7 X8 o7 n" B - <!-- 数据库的用户名 -->
" \+ \: _' ^2 {6 L - <property name="username">/ W' F% h1 r1 {9 I2 ]
- <value>root</value>
; R2 R' Y" B' M1 o3 J; ] - </property>. V* A" c0 i# ^+ c6 C
- <!-- 数据库的密码 -->
6 F# }! Z4 h! Y: X - <property name="password">
+ r5 z# a) k7 k - <value>123</value>
8 ]6 E5 H3 m( J* F0 v6 l. i - </property>
! D7 d. L# Q7 E) v8 K - </bean>
/ V' f1 B$ K3 d/ w# p& P$ i - <!-- 把数据源注入给Session工厂 -->, ?/ h }$ J$ e) j( W- s" v- a4 `
- <bean id="sessionFactory"9 V. t7 K! U2 r! |0 d) L
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">3 h8 Z5 e* h6 w
- <property name="dataSource">
5 u, d( p6 S5 h9 V0 Y0 Z8 l3 f - <ref bean="dataSource" />8 p, T; P) m0 F0 J" K& b
- </property>( a& G$ ~# w- \& |
- <!-- 配置映射文件 -->* N6 w! Q$ p- }) @, I$ w
- <property name="mappingResources">) R l/ U6 D* u" }! O1 B
- <list>7 c. n- x" ^5 Y
- <value>com/alonely/vo/User.hbm.xml</value>4 s0 u; c0 n, {1 `2 ~# H. e7 @
- </list>
/ O) u6 V0 i. Q/ d3 u5 s - </property>/ f |) x) _0 u6 W! _2 {
- </bean>6 d* L) O& p. b1 z! P
- <!-- 把Session工厂注入给hibernateTemplate -->9 [: |5 N3 X) A ]$ T* f
- <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->
& `+ b7 V" V* ]; Y - <bean id="hibernateTemplate"
0 M9 j" {3 u4 X% d. c; \2 u5 u - class="org.springframework.orm.hibernate3.HibernateTemplate">
. ~+ M! G" l: D! n9 o - <constructor-arg># s1 b; w) T7 l
- <ref local="sessionFactory" />+ j1 L$ F- t/ g( F
- </constructor-arg>$ S! p8 e, h: J" J
- </bean>
* V, d% W$ F6 A - <!-- 把DAO注入给Session工厂 -->& h0 p' w( P- k$ V: M6 k! _
- <bean id="userDAO" class="com.alonely.dao.UserDAO">, B9 U- r6 L. {& E7 {# S
- <property name="sessionFactory">
" y: p" w' R% ~, a2 U/ R$ N - <ref bean="sessionFactory" />8 |* h! [' o, J; S6 X8 U
- </property>' ?% P/ Q. p6 K
- </bean>
' q6 X, x& }; S$ A& H - <!-- 把Service注入给DAO -->2 M' x& D; l5 x3 z6 f
- <bean id="userService" class="com.alonely.service.UserService">
- _+ f1 C' J V1 Q4 a% c# h - <property name="userDAO">( `4 x7 b1 ~' u, D: g* {) j
- <ref local="userDAO" />
- N9 i3 X# C5 t - </property>: U9 @ L; s* z3 A. b/ j3 L1 i
- </bean>
$ ]. v: A/ }" S; S - <!-- 把Action注入给Service -->
1 r0 r: R7 ?: q, }5 F: B7 n - <bean name="/user" class="com.alonely.struts.action.UserAction">
: n+ `/ ]7 l( G2 {. x I - <property name="userService">( n: W F. C. z& L1 G l8 N5 \
- <ref bean="userService" />
, w8 C! S0 H% h, |/ x - </property>
0 z# j) Z9 l* f - </bean>3 T( M1 u( t: R& w
- </beans>
复制代码 5 ~$ F0 c+ Y% Z t/ w3 a
以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。
( }& I. ]/ s4 j3 E3 Y |
|