隨筆-314  評(píng)論-209  文章-0  trackbacks-0
          想必用過(guò)Spring的程序員們都有這樣的感覺(jué),Spring把邏輯層封裝的太完美了(個(gè)人感覺(jué)View層封裝的不是很好)。以至于有的初學(xué)者都不知道Spring配置文件的意思,就拿來(lái)用了。所以今天我給大家詳細(xì)解釋一下Spring的applicationContext.xml文件。Ok,我還是通過(guò)代碼加注釋的方式為大家演示:
          以下是詳解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>
           <!-- 建立數(shù)據(jù)源 -->
           <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <!-- 數(shù)據(jù)庫(kù)驅(qū)動(dòng),我這里使用的是Mysql數(shù)據(jù)庫(kù) -->
            <property name="driverClassName">
             <value>com.mysql.jdbc.Driver</value>
            </property>
            <!-- 數(shù)據(jù)庫(kù)地址,這里也要注意一下編碼,不然亂碼可是很郁悶的哦! -->
            <property name="url">
             <value>
                 jdbc:mysql://localhost:3306/tie?useUnicode=true&amp;characterEncoding=utf-8
             </value>
            </property>
            <!-- 數(shù)據(jù)庫(kù)的用戶名 -->
            <property name="username">
             <value>root</value>
            </property>
            <!-- 數(shù)據(jù)庫(kù)的密碼 -->
            <property name="password">
             <value>123</value>
            </property>
           </bean>
           <!-- 把數(shù)據(jù)源注入給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提供了很多方便的方法,在執(zhí)行時(shí)自動(dòng)建立 HibernateCallback 對(duì)象,例如: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架構(gòu),如果您用Spring的MVC架構(gòu),其原理也是一樣的。
          posted on 2008-06-07 13:48 xzc 閱讀(18086) 評(píng)論(3)  編輯  收藏 所屬分類: Spring

          評(píng)論:
          # re: Spring的applicationContext.xml文件 2008-07-20 09:54 | 工工工
          <ref bean="dataSource" />是把把數(shù)據(jù)源注入給Session工廠
          <ref local="userDAO" />是把Service注入給DAO
          為什么兩個(gè)<ref />寫是相反的
            回復(fù)  更多評(píng)論
            
          # re: Spring的applicationContext.xml文件 2012-05-31 11:09 | 唐龍
          這你就不懂了吧  回復(fù)  更多評(píng)論
            
          # 第一個(gè)class后面的代碼如何點(diǎn)出來(lái)[未登錄](méi) 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>  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 绥化市| 桂东县| 故城县| 乌拉特后旗| 通海县| 康平县| 察隅县| 锡林浩特市| 大姚县| 左云县| 浦江县| 滁州市| 东山县| 余干县| 绥芬河市| 梅州市| 西平县| 宣恩县| 霍邱县| 浦城县| 岳普湖县| 友谊县| 新闻| 和田市| 阿鲁科尔沁旗| 四子王旗| 都昌县| 九台市| 当雄县| 孟州市| 恭城| 仁寿县| 灵寿县| 上栗县| 武鸣县| 久治县| 五华县| 岳阳县| 安宁市| 申扎县| 盐津县|