该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示:
/ u3 U1 ~* I% ^7 }, ?* c5 w, @1 U; Y/ f: @9 m+ A
以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 -->: A$ R8 m; z4 d( b& _% D
- <?xml version="1.0" encoding="UTF-8"?>" P6 L9 t7 U/ T+ ~( h0 P) u
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
% Y R; A, a; }7 s9 Z - <beans>
' [( i, l! C, ~/ e' g J - <!-- 建立数据源 -->
: D) f1 T3 B; p. u3 j) a8 G - <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">$ T; T1 p$ m; ^# n
- <!-- 数据库驱动,我这里使用的是Mysql数据库 -->
- T% z$ P o! x2 v% I - <property name="driverClassName">
1 p" J$ E3 V6 u8 J, U& R2 e - <value>com.mysql.jdbc.Driver</value>
+ U$ O0 r' \6 ?$ H - </property>
6 a7 n+ I1 r9 x+ \; c% H - <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->$ i$ V- i6 e' N5 y7 u* o7 N
- <property name="url"># z. G1 |6 t0 k1 O" L7 l! ]( ]( m
- <value>
( I* _+ w* v: _7 n! m - jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8
3 i& E0 ~+ a# `+ ^9 G3 e' x& F - </value>
' f3 ^- ]! H4 n& o. j2 _+ {# J r - </property>
3 v% S$ O; s0 e0 l4 @1 \0 q+ C- B - <!-- 数据库的用户名 -->
; U* \( J* W2 D! b8 @: @ - <property name="username">% }: ^" l; E d! H, z7 R
- <value>root</value>/ [; v4 Q L& n* m3 p7 o
- </property>
" X, E5 I! M7 J& T* P8 h- d - <!-- 数据库的密码 -->
$ D4 p+ q/ Y7 q - <property name="password">
+ K" O6 q% }& @ - <value>123</value>
7 |8 x4 L4 u3 w. f0 d - </property>: X1 H! s2 h: n* d4 |
- </bean>& O3 n" @2 r) B' [4 H
- <!-- 把数据源注入给Session工厂 -->& N$ c+ }( f6 }) _
- <bean id="sessionFactory"
+ S+ f5 N2 d! k t2 | - class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">7 _5 @- N' D6 u" X0 C* F, @
- <property name="dataSource">$ t$ L" D2 _6 D0 ?5 Z; R4 N
- <ref bean="dataSource" />! u8 {$ W# l& I" Z4 r( r
- </property>4 v: ]- h# w7 S5 R/ d" c$ g$ I" O
- <!-- 配置映射文件 -->8 T( H, h) \! N& u/ d9 |
- <property name="mappingResources">+ Q1 R0 u+ X* U/ j& B0 _( {
- <list>
: y- V w5 t, F" e. [$ | - <value>com/alonely/vo/User.hbm.xml</value>
$ P" x. F5 k: ~! h - </list>
0 f9 e5 O' f& e& C - </property>
3 h' Y0 G" ~4 p5 n - </bean>: K$ E8 S$ J6 T" c: Z. v; y' N
- <!-- 把Session工厂注入给hibernateTemplate -->% A, C. [/ r8 F, ]6 i
- <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->
6 X% N4 F: }" s# @5 K - <bean id="hibernateTemplate"4 V/ K3 S7 [ d9 N
- class="org.springframework.orm.hibernate3.HibernateTemplate">; q7 X3 w- X* S- y
- <constructor-arg>0 F8 m" y) N" c2 H
- <ref local="sessionFactory" />
1 W; |2 W C8 I2 x- C( z( v: o - </constructor-arg>
1 T3 o2 M$ _8 b% h4 u; V7 Y! C, Q a* X - </bean>
+ W, B/ _9 ?# i/ g. H4 ] - <!-- 把DAO注入给Session工厂 -->) S3 B! F0 h8 p" p, A8 A6 {
- <bean id="userDAO" class="com.alonely.dao.UserDAO">
# E4 p$ P) P, G$ m- ] - <property name="sessionFactory">1 D' V, Y8 J/ b# m3 f* B
- <ref bean="sessionFactory" />
5 \: R) G5 C. U+ p, b+ I# T - </property>& e/ H" E0 p; n% e
- </bean>
, j H) W# y# }3 U: n" A* q8 l6 r - <!-- 把Service注入给DAO -->
6 j W% a2 `8 Y, p* T4 u - <bean id="userService" class="com.alonely.service.UserService">; p9 p" k& @2 m+ ~8 i- e0 t
- <property name="userDAO">
# y# u/ Z' @. j& P5 Q8 b: ^4 W5 H. T - <ref local="userDAO" />
- T+ c; Q9 a, A$ z# R( ^4 G/ d - </property>/ B& L6 ~. ^ o) a$ V& {
- </bean>
% G$ J( W: J* [9 r- a - <!-- 把Action注入给Service -->
7 ^* q. Q5 I6 h; v - <bean name="/user" class="com.alonely.struts.action.UserAction">
) G- \+ ^" J0 D! L2 a% Z - <property name="userService">' f; W- F* d/ _( N, _8 J
- <ref bean="userService" />. k; s7 f+ |8 \6 S% Y, r0 b9 N
- </property>4 d6 ?2 w1 z( u6 E9 x1 A
- </bean>
3 A5 y; \" x5 Z- A - </beans>
复制代码
, S, p$ @0 I1 A以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。
0 e1 C6 W6 y. m9 G* P& M) n( } |
|