zoukankan      html  css  js  c++  java
  • Spring.net 容器注入是替换(后处理器appConfigPropertyHolder)

    1.定义节点
    下面两个都定义为键值对
    <section name="DaoConfiguration" type="System.Configuration.NameValueSectionHandler"/>
    <section name="DatabaseConfiguration" type="System.Configuration.NameValueSectionHandler"/>
    
     <DaoConfiguration>
    The IoC container
    Spring Framework (Version 1.3.2) 68
     <add key="maxResults" value="1000"/>
     </DaoConfiguration>
    
     <DatabaseConfiguration>
     <add key="connection.string" value="dsn=MyDSN;uid=sa;pwd=myPassword;"/>
     </DatabaseConfiguration>
    
    2.应用替换
    <objects xmlns="http://www.springframework.net"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.net
     http://www.springframework.net/xsd/spring-objects.xsd" >
    
     <object name="productDao" type="DaoApp.SimpleProductDao, DaoApp ">
     <property name="maxResults" value="${maxResults}"/>
     <property name="dbConnection" ref="myConnection"/>
     </object>
    
     <object name="myConnection" type="System.Data.Odbc.OdbcConnection, System.Data">
     <property name="connectionstring" value="${connection.string}"/>
     </object>
    <!--用于spring容器的注时替换,后处理器-->
     <object name="appConfigPropertyHolder"
     type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer, Spring.Core">
     <property name="configSections">
     <value>DaoConfiguration,DatabaseConfiguration</value>
     </property>
    
     </object>
    </objects>
     第二种方法,spring环境变量模式
    <object name="appConfigPropertyHolder"
     type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer, Spring.Core">
     <property name="configSections" value="DaoConfiguration,DatabaseConfiguration"/>
     <property name="EnvironmentVariableMode" value="Override"/>
     </object>
    </objects>
    <configuration>
    The IoC container
    Spring Framework (Version 1.3.2) 70
     <configSections>
     <sectionGroup name="spring">
     <section name="context" type="Spring.Context.Support.ContextHandler, Spring.Core"/>
     </sectionGroup>
     <section name="DaoConfigurationOverride" type="System.Configuration.NameValueSectionHandler"/>
     </configSections>
     <DaoConfigurationOverride>
     <add key="productDao.maxResults" value="1000"/>
     </DaoConfigurationOverride>
    
     <spring>
     <context>
     <resource uri="assembly://DaoApp/DaoApp/objects.xml"/>
     </context>
     </spring>
    </configuration>
    之后也只差应用了
    <objects xmlns="http://www.springframework.net"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.net http://www.springframework.net/xsd/springobjects.xsd"
    >
     <object name="productDao" type="PropPlayApp.SimpleProductDao, PropPlayApp " >
     <property name="maxResults" value="2000"/>
     <property name="dbConnection" ref="myConnection"/>
     <property name="log" ref="daoLog"/>
     </object>
    
     <object name="daoLog" type="Spring.Objects.Factory.Config.LogFactoryObject, Spring.Core">
     <property name="logName" value="DAOLogger"/>
     </object>
    
     <object name="myConnection" type="System.Data.Odbc.OdbcConnection, System.Data">
     <property name="connectionstring">
     <value>dsn=MyDSN;uid=sa;pwd=myPassword;</value>
     </property>
     </object>
     <object name="appConfigPropertyOverride" type="Spring.Objects.Factory.Config.PropertyOverrideConfigurer,
     Spring.Core">
     <property name="configSections">
     <value>DaoConfigurationOverride</value>
     </property>
     </object>
    </objects>
  • 相关阅读:
    去重
    JavaScript 数组
    变量
    2017.3.19 for
    2017.3.19 if,for
    2017.3.14
    2017.3.10
    2017.3.9
    2017.3.7-1
    2017.3.7
  • 原文地址:https://www.cnblogs.com/kexb/p/5920539.html
Copyright © 2011-2022 走看看