隨筆-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 閱讀(18085) 評論(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>  回復  更多評論
            
          主站蜘蛛池模板: 托克托县| 平塘县| 仙游县| 台东市| 昌江| 商南县| 新营市| 淮滨县| 奈曼旗| 金塔县| 虞城县| 巴塘县| 华安县| 九江县| 临沭县| 浪卡子县| 连江县| 铜梁县| 略阳县| 乌审旗| 呼和浩特市| 泾源县| 邯郸县| 阿拉尔市| 二连浩特市| 四子王旗| 象山县| 卓资县| 城口县| 鄂托克旗| 双江| 宁明县| 神农架林区| 玉环县| 扶风县| 东台市| 新泰市| 广宗县| 南靖县| 宣汉县| 赤城县|