该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示: 0 h/ C( j2 H+ s4 V# P5 j
' o, ?; y" e1 g7 A, s
以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 -->
0 f' f {, ?8 @ - <?xml version="1.0" encoding="UTF-8"?>1 s% |& X$ r; H- t
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3 H0 O& k6 R; k6 d' M - <beans>1 H- c+ l/ R; J6 P8 ?
- <!-- 建立数据源 -->
8 D! B( D5 R4 b, C$ v' W - <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">- y* K2 D% F/ H w& ~6 F/ O
- <!-- 数据库驱动,我这里使用的是Mysql数据库 --> O5 E0 K: A. I' U9 h& _: Y
- <property name="driverClassName">0 c2 f8 M, B. H7 F. F3 i
- <value>com.mysql.jdbc.Driver</value>0 @; u" e3 ]. J1 `9 S
- </property>0 `$ J" C! l. p; p: I8 j$ t5 g: n; R
- <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->! `3 a; N( d/ Y- ~- Z
- <property name="url">
5 e1 U$ K4 t4 [0 @) r - <value># s) n( m$ o0 X! S: w/ w* H) [% H( Z. r
- jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8" S6 M0 B( o) i& |( O9 H
- </value>. W1 G4 C a u
- </property>% u7 a L$ C8 F1 H' R& T6 l) R- W* _
- <!-- 数据库的用户名 -->" V0 h; ?$ Q! |! l
- <property name="username">
" p' Z/ h3 }( q$ c# L- \. Q - <value>root</value>
9 x# l- K7 r1 ]; Z - </property>
' u- i9 D6 ^1 l6 E- c; v - <!-- 数据库的密码 -->. ~' d" I4 W+ P( C4 m: V
- <property name="password">
' F* X, e& ~' t) S/ T) @$ {+ h$ a5 ~ - <value>123</value>( \/ [2 k3 G1 ^: d6 x0 X) u
- </property>2 K$ ~4 Y c5 ]$ n* a) I
- </bean>
1 @7 s; k) Q& e& e& B$ G - <!-- 把数据源注入给Session工厂 -->
8 ]2 K5 k7 D+ r( m8 f1 }/ m - <bean id="sessionFactory"- R) ^! @3 s! f6 A& B& y
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
" `- ^& p* e1 q5 f4 r - <property name="dataSource">+ v# |7 l" Q( C" Z; w/ u6 m
- <ref bean="dataSource" />
5 E7 F2 l0 T3 V, v- i - </property>6 ?% m8 R7 H$ p* H
- <!-- 配置映射文件 -->
. y* ~. R) b! U# ]" A - <property name="mappingResources">( _0 Z: P( N5 T' \# [
- <list>
: C/ T9 ~5 h: Z. H - <value>com/alonely/vo/User.hbm.xml</value>+ `& x" Q/ c' W. I
- </list>* z2 Y$ Y+ v5 \5 _% p3 ]
- </property>
- e" V+ v6 C" o* @ - </bean>$ A, G8 y) s9 C N- [
- <!-- 把Session工厂注入给hibernateTemplate -->
/ ?. N- W2 x. F8 O4 B" u6 _ - <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->% @) [! y) Y- {- Y( S2 d
- <bean id="hibernateTemplate"
- a4 X n; g1 j - class="org.springframework.orm.hibernate3.HibernateTemplate">
/ w) E( L2 j' h' T( V - <constructor-arg>
3 b$ T" x) n- x$ R - <ref local="sessionFactory" />+ l) x# O/ A1 _9 W
- </constructor-arg>
: [- d/ n1 s0 x5 I% s+ {/ Y9 j, S$ U p - </bean>
+ M* L9 n/ q6 \ - <!-- 把DAO注入给Session工厂 -->3 u) A# g& M1 a, q6 L
- <bean id="userDAO" class="com.alonely.dao.UserDAO">
F' O% M, ? A: j* l - <property name="sessionFactory">! W$ V9 ?2 g2 h6 C& |2 x
- <ref bean="sessionFactory" />
7 n% }7 }# \6 l/ {% B9 K - </property>
( t- {* P1 Y8 Y9 u, I - </bean>
( D$ X# `6 f3 f C" c3 R - <!-- 把Service注入给DAO -->
# K6 [/ H0 f" y; r- @) _2 L" r - <bean id="userService" class="com.alonely.service.UserService">
1 F, Z1 p5 W* z& h9 a - <property name="userDAO">
: O* G K8 h9 I( [5 a4 ~ - <ref local="userDAO" />0 p' I8 I% N; c# `
- </property>" P4 }$ L" M3 e0 E( m5 p/ i- n9 J
- </bean>3 j3 \1 X7 }6 H) k Q6 t, m) V
- <!-- 把Action注入给Service -->: Q I; W, K3 \' w
- <bean name="/user" class="com.alonely.struts.action.UserAction">
* A. `4 j4 o% N! j8 ?2 `# {. V6 C - <property name="userService">
8 ?7 s0 d- l2 ^" n - <ref bean="userService" />: c8 s5 x( n. A8 s* h S
- </property>
6 H1 L" {3 H6 u! L$ h, s, U - </bean>" V& N/ S1 }4 d' j5 R G9 T# c6 ~( }
- </beans>
复制代码
7 Y0 e3 Z3 N8 r& B* D以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。 5 [8 T8 o& o; m8 Q- |
|
|