该用户从未签到
|
用过spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,还是通过代码加注释的方式为大家演示:
# o$ x; v0 H1 k1 C$ B4 ~" Z3 n8 X; j, G' n( {) Q
以下是详解Spring的applicationContext.xml文件代码:- <!-- 头文件,主要注意一下编码 --> W0 s# Q9 I, {# o$ N, v: s
- <?xml version="1.0" encoding="UTF-8"?>
( B% m3 k) i4 M+ g- X - <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">* z& w' ]$ d+ P# W1 o3 N0 ^' \
- <beans>" H0 @* i. k& X0 t: d: w* n
- <!-- 建立数据源 -->6 ^( L7 k" ]% K5 `
- <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> F9 x7 p5 m. B% K( B
- <!-- 数据库驱动,我这里使用的是Mysql数据库 -->( Y) G" N B! T4 j, h, o# A
- <property name="driverClassName">- Z* n4 U6 i$ C! D( o& e! P0 Z
- <value>com.mysql.jdbc.Driver</value># T t3 e4 |2 u" y1 ]
- </property>; I' [# W9 H0 X. R, P8 \$ E! Q
- <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->
! M. o, o& B3 j - <property name="url">
. A4 e3 Z N. m - <value>+ h9 z: Z. J5 y; d
- jdbc:mysql://localhost:3306/tie?useUnicode=true&characterEncoding=utf-8; M7 `! u; X, b" T
- </value>+ ?1 I+ G1 U" P$ V/ M2 B" J# |( U
- </property>3 K$ W5 p5 s& p* W: ?
- <!-- 数据库的用户名 -->* m* n& V$ c8 l
- <property name="username">, Y& i( k8 g8 A8 ^ D# x
- <value>root</value>
9 ~5 a s2 k! L H3 t8 U - </property>7 T2 @ ~) d# p$ o/ H2 h, a/ y
- <!-- 数据库的密码 -->
3 c' Z) u* M2 x$ E* d - <property name="password">1 K3 h% U/ K8 s
- <value>123</value>; W9 C* w" g. i
- </property>
2 ~0 l2 b/ W# h- i - </bean>
. \2 d: `" w: P - <!-- 把数据源注入给Session工厂 -->) W9 z2 X8 G' M( a4 Z
- <bean id="sessionFactory"7 Q" @! g' P/ x8 @0 D3 ?
- class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">4 y8 u% W0 H, E1 B$ W& f
- <property name="dataSource">
% D. S# ]) o( B% r - <ref bean="dataSource" />
8 H4 l2 t) B5 N( m) U - </property>; i, @9 Y0 o6 O- Q
- <!-- 配置映射文件 -->
) Q: A: E8 G1 P, P' P - <property name="mappingResources">: B( s2 P6 q! f
- <list>1 u. T% E8 E' m& R- G9 |
- <value>com/alonely/vo/User.hbm.xml</value>" I# l$ q; M; g. A- e0 z
- </list>& g$ |) k8 K! Q6 o- a8 [0 s
- </property>( E; F1 U' U9 `: {5 Y" j d
- </bean>3 N. T7 H3 | k5 H* i
- <!-- 把Session工厂注入给hibernateTemplate -->
Z' t+ m' m# z9 I6 o: D6 j - <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->
6 [3 c y$ N% Y( @4 { - <bean id="hibernateTemplate", b, a g5 X% V# Z0 j) j8 v' m. d
- class="org.springframework.orm.hibernate3.HibernateTemplate">% b: o. j/ |" m0 L0 M3 O' w( ^: B
- <constructor-arg>
3 [2 ^+ c7 K8 i - <ref local="sessionFactory" />
' L' R+ w L4 b: K8 r - </constructor-arg>7 A/ R" T7 L! m |! Q' R6 ~
- </bean>5 U- z9 h. X! R% V2 `0 _* M
- <!-- 把DAO注入给Session工厂 -->" X) L2 p- m' O- k0 J7 }1 e0 J* i
- <bean id="userDAO" class="com.alonely.dao.UserDAO">
( g( }* H% [1 D. ?" r. S - <property name="sessionFactory">4 [+ l* \0 I3 K3 _$ C, ?
- <ref bean="sessionFactory" />: k( q. R) j4 S, f5 @5 L% s0 q# u
- </property>
# z5 d& _+ P& Y$ X$ L; q- ?. ? - </bean>) s& u1 d' x+ A* ?. D' q- } V) @! ^
- <!-- 把Service注入给DAO -->7 @5 }6 x7 a. w
- <bean id="userService" class="com.alonely.service.UserService">
3 c2 Q7 ^/ z! s - <property name="userDAO">4 |4 l/ r. X! Q4 S4 r
- <ref local="userDAO" />! @# g' {! w) g1 g# s$ @
- </property>
; ?4 R3 R# J1 @: d* r& Z. L* N - </bean>
) P5 U v( S& n2 J I - <!-- 把Action注入给Service -->: [# r3 r. T+ C, Q- o
- <bean name="/user" class="com.alonely.struts.action.UserAction">
3 j) X ~% [* j4 e4 V! a4 D' x - <property name="userService">
% W4 f# c7 U) L - <ref bean="userService" />
! {. l# g- H6 p* M w* W! s0 |! i - </property>; C8 p4 c- {5 N. C2 c
- </bean>
% |' p1 t/ ~) v* ` - </beans>
复制代码 * H5 n* D5 ?% S9 m& f0 ~) d
以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。 " C$ S+ ~" S6 t) d) r( ]$ m$ ~
|
|