该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示: $ `- X0 o* L' t+ q+ ^
0 p* L: e) G* s' u+ y7 W
以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 -->1 e) W/ `/ ] i# R+ F C u
- <?xml version="1.0" encoding="UTF-8"?>
9 T, F% v: O9 s3 J& E& ]8 ] - <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
, U$ r' N( c* n - <beans>5 B3 j: [# K* w5 u% _
- <!-- 建立数据源 -->
+ V4 S P: \5 L6 X9 |* c/ a - <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
3 b( U, ?, `$ Z2 }- ? - <!-- 数据库驱动,我这里使用的是Mysql数据库 -->
3 ^2 F* N' t* a* |& T) _ - <property name="driverClassName">
; p) P' ^& v6 h+ c* C2 [! k - <value>com.mysql.jdbc.Driver</value>
6 H! ^9 C: \) v: E) C - </property>
; D) F8 v; J6 m% I - <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->
# k2 j! t& N% x' }% C" o( P' m2 p7 n - <property name="url">2 ^# F* @) i9 ~" T
- <value>
' h8 P# M# _6 ^) W2 F/ S - jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8/ Q: Z3 P4 E( C* J: \3 A
- </value>% E% {0 W/ }; C8 x3 E1 b" @
- </property>1 M/ `+ B9 O3 v/ y$ k$ R4 ~- m
- <!-- 数据库的用户名 -->' ^3 _/ f3 v3 q' `% z; m
- <property name="username">
: b R. v9 l( |. F3 |& E x' W - <value>root</value>
3 ^. d! j% C. g/ L0 k6 J - </property>
9 F$ i. \/ @+ J5 x! G9 g2 B4 r1 q; C9 T - <!-- 数据库的密码 -->
& y7 c9 Z6 U/ o+ b+ a4 M - <property name="password">
. w0 @; ^0 l) j - <value>123</value>
, I% ?5 S9 u7 U! v& V1 p) P - </property>" l# I; G3 B7 j* q
- </bean>5 Z* |8 t; G" X H+ L4 [
- <!-- 把数据源注入给Session工厂 -->; O0 o/ C& ~1 M$ R3 Z
- <bean id="sessionFactory"
; \7 k7 r) F3 r - class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
4 ?# e' ^' Y, D( ?4 L; Y3 S6 G5 x* e - <property name="dataSource">6 S" s/ X4 r& _
- <ref bean="dataSource" />+ B% g/ z7 z! ~3 u( N# |- K1 m
- </property>
5 |: f0 j5 x5 Y - <!-- 配置映射文件 -->1 k8 t- s$ U9 j1 Q
- <property name="mappingResources">/ F5 C6 f% `, W$ r% U4 D* A
- <list>) ]% ?" y; l) q0 {' q
- <value>com/alonely/vo/User.hbm.xml</value>
2 o. j) l# C2 ? - </list>
0 x6 q8 c+ [$ G! l% `6 \ - </property>5 k1 K$ T& o+ H+ J: q" ~; _
- </bean>
9 r6 j/ o1 P# D0 O& @1 w - <!-- 把Session工厂注入给hibernateTemplate --># }7 v( x' i3 p( y. a/ N* y
- <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->
- r" c3 P7 d/ V a* Y; l; a9 w) x# @ - <bean id="hibernateTemplate"
# ?0 z% `* l" J, W- n0 M$ p0 D7 L0 f% @ - class="org.springframework.orm.hibernate3.HibernateTemplate">& G# x; y) W5 Y0 B2 i' p
- <constructor-arg>
+ U* W1 y9 y; S9 [$ n - <ref local="sessionFactory" />9 D" y- S0 i2 Z! k2 I s
- </constructor-arg>
* y c7 v' ]! S# X- A9 j7 a - </bean>8 ]% N* O v4 g
- <!-- 把DAO注入给Session工厂 -->* l& i5 z: ^; @3 i7 S
- <bean id="userDAO" class="com.alonely.dao.UserDAO">
1 S+ ]0 R: o. h - <property name="sessionFactory">1 w4 l* {" J. t* w7 N
- <ref bean="sessionFactory" />
6 X2 p0 U8 _# ]7 [ - </property>! s# A- M/ G2 y8 U
- </bean>
3 \2 Z1 G- x1 W5 a7 X - <!-- 把Service注入给DAO -->
7 @2 g8 X+ r- Y l8 j - <bean id="userService" class="com.alonely.service.UserService">
6 j9 a2 }5 }* s - <property name="userDAO">
+ K8 c6 ?6 x7 U1 X5 X' ? - <ref local="userDAO" />
! r+ W& v3 U5 R, k - </property>! M" q9 Z$ Y+ C' d* A% Q4 H9 q
- </bean>8 W* M3 E6 b" T
- <!-- 把Action注入给Service -->! v0 c+ B; t( V% { E
- <bean name="/user" class="com.alonely.struts.action.UserAction">
2 \: h! D2 K6 n - <property name="userService">
6 q0 \/ {# H* n6 Z9 n: l - <ref bean="userService" />& d5 a4 t+ j0 A' w- z/ J& I9 h
- </property>
; `/ h# p5 o2 M" F |1 |- G - </bean>
! w( ~$ g$ q6 [* _! h- x& i - </beans>
复制代码
9 G! G- w& s s以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。 ( D- z2 Z! a# v" R- D3 I
|
|