随笔-314  评论-209  文章-0  trackbacks-0
想必用过Spring的程序员们都有这样的感觉,Spring把逻辑层封装的太完美了(个人感觉View层封装的不是很好)。以至于有的初学者都不知道Spring配置文件的意思,就拿来用了。所以今天我给大家详细解释一下Spring的applicationContext.xml文件。Ok,我还是通过代码加注释的方式为大家演示:
以下是详解Spring的applicationContext.xml文件代码:
<!-- 头文件,主要注意一下编码 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
 <!-- 建立数据源 -->
 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  <!-- 数据库驱动,我这里使用的是Mysql数据库 -->
  <property name="driverClassName">
   <value>com.mysql.jdbc.Driver</value>
  </property>
  <!-- 数据库地址,这里也要注意一下编码,不然乱码可是很郁闷的哦! -->
  <property name="url">
   <value>
       jdbc:mysql://localhost:3306/tie?useUnicode=true&amp;characterEncoding=utf-8
   </value>
  </property>
  <!-- 数据库的用户名 -->
  <property name="username">
   <value>root</value>
  </property>
  <!-- 数据库的密码 -->
  <property name="password">
   <value>123</value>
  </property>
 </bean>
 <!-- 把数据源注入给Session工厂 -->
 <bean id="sessionFactory"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource">
   <ref bean="dataSource" />
  </property>
  <!-- 配置映射文件 -->
  <property name="mappingResources">
   <list>
    <value>com/alonely/vo/User.hbm.xml</value>
   </list>
  </property>
 </bean>
 <!-- 把Session工厂注入给hibernateTemplate -->
 <!-- 解释一下hibernateTemplate:hibernateTemplate提供了很多方便的方法,在执行时自动建立 HibernateCallback 对象,例如:load()、get()、save、delete()等方法。 -->

 <bean id="hibernateTemplate"
  class="org.springframework.orm.hibernate3.HibernateTemplate">
  <constructor-arg>
   <ref local="sessionFactory" />
  </constructor-arg>
 </bean>
 <!-- 把DAO注入给Session工厂 -->
 <bean id="userDAO" class="com.alonely.dao.UserDAO">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>
 <!-- 把Service注入给DAO -->
 <bean id="userService" class="com.alonely.service.UserService">
  <property name="userDAO">
   <ref local="userDAO" />
  </property>
 </bean>
 <!-- 把Action注入给Service -->
 <bean name="/user" class="com.alonely.struts.action.UserAction">
  <property name="userService">
   <ref bean="userService" />
  </property>
 </bean>
</beans>
以上Spring的applicationContext.xml文件我是用的SSH架构,如果您用Spring的MVC架构,其原理也是一样的。
posted on 2008-06-07 13:48 xzc 阅读(18077) 评论(3)  编辑  收藏 所属分类: Spring

评论:
# re: Spring的applicationContext.xml文件 2008-07-20 09:54 | 工工工
<ref bean="dataSource" />是把把数据源注入给Session工厂
<ref local="userDAO" />是把Service注入给DAO
为什么两个<ref />写是相反的
  回复  更多评论
  
# re: Spring的applicationContext.xml文件 2012-05-31 11:09 | 唐龙
这你就不懂了吧  回复  更多评论
  
# 第一个class后面的代码如何点出来[未登录] 2012-06-05 20:21 | 小张
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"" target="_new" rel="nofollow">http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"
value="com.microsoft.sqlserver.jdbc.SQLServerDriver">
</property>
<property name="url"
value="jdbc:sqlserver://localhost:1433;databaseName=mydb">
</property>
<property name="username" value="sa"></property>
<property name="password" value="111111"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
</props>
</property>
<property name="mappingResources">
<list>
<value>po/Admin.hbm.xml</value></list>
</property></bean>
<bean id="AdminDAO" class="dao.AdminDAO">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean></beans>  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: