1. 程式人生 > >Spring中配置檔案application xml中各配置的含義

Spring中配置檔案application xml中各配置的含義

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
>
  <description>  Spring Configuration. </description> <import resource="classpath:frameworkContext.xml" /> <!--引入其他context檔案-->  <!-- =================================================================== --> <!-- Context Define                                                      -->
 <!-- =================================================================== -->        <!--預載入配置檔案 之後可通過${XXX}讀取--> <bean id="propertyConfigurer"  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  <property name="locations">   <list>    <value>classpath:database.properties</value>   </list>  </property> </bean>   <!-- =================================================================== --> <!-- Data Source Define (jdbc & jndi)                                    --> <!-- =================================================================== --> <!-- JDBC Configuration  通過配置檔案 配置直連 資料來源 --> <!-- <bean id="dataSource"  class="org.springframework.jdbc.datasource.DriverManagerDataSource">  <property name="driverClassName"   value="${hibernate.connection.driver_class}" />  <property name="url" value="${hibernate.connection.url}" />  <property name="username"   value="${hibernate.connection.username}" />  <property name="password"   value="${hibernate.connection.password}" /> </bean>  -->   <!-- JNDI Configuration -->  <!--通過jndi配置資料來源--> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">  <property name="jndiName" value="jdbc/stptdemo"/>              <!--  <property name="jndiName" value="java:comp/env/jdbc/stpt"/>  tomcat資料來源--> </bean>  <!-- =================================================================== --> <!-- SessionFactory(For Hibernate)/ManagerFactory(For JPA) Define        --> <!--  ONLY ONE OF THEM SHOULD BE USED                                    --> <!-- =================================================================== --> <!--  class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"  spring 2.5之後繼承的工廠類 通過jpa註釋 配置BO--> <!--  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"  spring 2.5之前繼承的工廠類 通過hbm配置檔案 配置BO -->  <!--配置sessionfactory--> <bean id="sessionFactory"  class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">  <property name="dataSource" ref="dataSource" />  <property name="configLocation"   value="classpath:hibernate.cfg.xml" />                <!--此屬性可寫在此,也可寫在hibernate配置檔案 cfg.xml 中-->  <property name="hibernateProperties">   <props>    <prop key="hibernate.dialect">     ${hibernate.dialect}    </prop>   </props>  </property>  <!--若是註解bo對映,則寫在hibernate.cfg.xml中 或者 使用屬性annotatedClasses-->                 <!--                 <property name="annotatedClasses">                  <list>                    <value>com.pojo.DT_RGNCD</value>                    </list>                        </property>                        但這種方式只能一個個吧bo寫出來比較繁瑣                     -->                <!--使用packagesToScan屬性掃描包下的實體類,可以避免1個個寫了                  <property name="packagesToScan"><!-- 自動掃描註解 -->                  <list>                      <value>com.wonders.*</value>                  </list>                 -->  <!--需要hbm配置檔案查詢對映路徑 配置  <property name="mappingDirectoryLocations">  <list>  <value>classpath:/com/wondersgroup</value>  </list>  </property>  -->   <!--處理lob型別-->   <property name="lobHandler" ref="${jdbc.handler}" />  </bean>    <!--配置hibernate操作類--> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">  <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!--配置jdbc操作類-->  <bean id = "jdbcTemplate" class = "org.springframework.jdbc.core.JdbcTemplate">    <property name = "dataSource" ref="dataSource"/>  </bean>  <!-- =================================================================== --> <!-- Transaction Define                                                  --> <!-- =================================================================== --> <!--配置hibernate事務管理類 --> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">         <property name="sessionFactory" ref="sessionFactory"/> </bean> <!--配置jdbc事務管理類 --> <bean id="dsTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  <property name="dataSource" ref="dataSource" /> </bean> <!--引入註解配置 設定掃描類 包含struts2 spring -->   <context:annotation-config/>  <context:component-scan base-package="com.wonders" /><!--包括<context:annotation-config/>,可代替--> <!--註解配置 指定事務代理類-->  <tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/> <!--引入aop 自動代理-->  <aop:aspectj-autoproxy/>  <!-- =================================================================== --> <!-- Transaction proxy define                                           --> <!-- =================================================================== --> <!--事務代理類 ,用於xml配置 時 為代理service,增加事務管理;使用時作為service的基類進行事務管理--> <bean id="basicTxProxy" abstract="true"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">  <property name="transactionManager" ref="transactionManager" />  <property name="transactionAttributes">  <!-- //ProxyConfig類的exposeProxy屬性,表示是否要將當前的代理物件放入AopContext中,   //這樣在你的Service中可以用AopContext.currentProxy()取得當前代理,相當於this引用,    <property name="exposeProxy" value="true" /> -->   <props>    <prop key="save*">PROPAGATION_REQUIRED</prop> <!--如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇-->    <prop key="add*">PROPAGATION_REQUIRED</prop>    <prop key="remove*">PROPAGATION_REQUIRED</prop>    <prop key="update*">PROPAGATION_REQUIRED</prop>    <prop key="*">PROPAGATION_REQUIRED</prop>   </props>  </property> </bean></beans>


同時,附上 hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- NOTE: For Hibernate Session Factory Use Only --><hibernate-configuration>   <session-factory>     <property name="connection.pool_size">1</property>      <property name="show_sql">false</property>      <property name="format_sql">true</property>      <property name="cache.provider_class">org.hibernate.cache.OSCacheProvider</property>      <property name="cache.use_query_cache">true</property>      <property name="query.factory_class">org.hibernate.hql.ast.ASTQueryTranslatorFactory</property>      <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>      <property name="proxool.pool_alias">pool1</property>      <property name="connection.SetBigStringTryClob">true</property>      <property name="jdbc.batch_size">0</property>      <property name="jdbc.use_streams_for_binary">true</property>      <property name="max_fetch_depth">1</property>      <!-- set hbm2ddl strategy -->      <!--   <property name="hibernate.hbm2ddl.auto">update</property>  -->      <!-- add BO class Mapping here optionally -->      <mapping class="com.wonders.stpt.metroExpress.entity.bo.MetroExpress"/>      <mapping class="com.wonders.stpt.metroIndicator.entity.bo.MetroProduction"/>      <mapping class="com.wonders.stpt.metroIndicator.entity.bo.MetroQuality"/>      <mapping class="com.wonders.stpt.metroIndicator.entity.bo.MetroScale"/>    <mapping class="com.wonders.stpt.core.login.entity.bo.Tuser"/>      <mapping class="com.wonders.stpt.core.login.entity.bo.TuserToken"/>     <mapping class="com.wonders.stpt.core.login.entity.bo.TuserRelation"/>      <mapping class="com.wonders.stpt.core.domainAuthentication.entity.bo.DomainAuthentication"/>      <mapping class="com.wonders.stpt.metroLine.entity.bo.MetroLine"/>      <mapping class="com.wonders.stpt.constructionNotice.entity.bo.ConstructionNotice"/>      <mapping class="com.wonders.stpt.organTree.entity.bo.TorganRelation"/>      <mapping class="com.wonders.stpt.indicatorControl.entity.bo.MetroProductionControl"/>    <mapping class="com.wonders.stpt.indicatorControl.entity.bo.MetroQualityControl"/>    <mapping class="com.wonders.stpt.indicatorControl.entity.bo.MetroScaleControl"/>          <mapping class="com.wonders.stpt.core.userManage.entity.bo.StptUser"/>       <mapping class="com.wonders.stpt.core.cfconsole.entity.bo.TuserLog"/>     <mapping class="com.wonders.stpt.userMsg.entity.bo.TuserMsg"/>     <mapping class="com.wonders.stpt.attach.model.bo.AttachFile"/>    </session-factory> </hibernate-configuration>

及database.properties

jdbc.handler oracleLobHandlerhibernate.dialect org.hibernate.dialect.Oracle9Dialecthibernate.connection.driver_class oracle.jdbc.OracleDriverhibernate.connection.username stpthibernate.connection.password shstpthibernate.connection.url jdbc:oracle:thin:@10.1.13.10:1521:stptdemo


           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述