zoukankan      html  css  js  c++  java
  • 小菜鸟学 Spring-Dependency injection(二)

    注入方式一:set注入

    <bean id="exampleBean" class="examples.ExampleBean">
    
    <!-- setter injection using the nested <ref/> element -->
    <property name="beanOne"><ref bean="anotherExampleBean"/></property>
    
    <!-- setter injection using the neater 'ref' attribute -->
    <property name="beanTwo" ref="yetAnotherBean"/>
    <property name="integerProperty" value="1"/>
    </bean>
    
    <bean id="anotherExampleBean" class="examples.AnotherBean"/>
    <bean id="yetAnotherBean" class="examples.YetAnotherBean"/>
    public class ExampleBean {
    
      private AnotherBean beanOne;
      private YetAnotherBean beanTwo;
      private int i;
    
      public void setBeanOne(AnotherBean beanOne) {
          this.beanOne = beanOne;
      }
    
      public void setBeanTwo(YetAnotherBean beanTwo) {
          this.beanTwo = beanTwo;
      }
    
      public void setIntegerProperty(int i) {
          this.i = i;
      }
    }

    注入方式二:构造注入

    <bean id="exampleBean" class="examples.ExampleBean">
    
    <!-- constructor injection using the nested <ref/> element -->
    <constructor-arg>
      <ref bean="anotherExampleBean"/>
    </constructor-arg>
    
    <!-- constructor injection using the neater 'ref' attribute -->
    <constructor-arg ref="yetAnotherBean"/>
    
    <constructor-arg type="int" value="1"/>
    </bean>
    
    <bean id="anotherExampleBean" class="examples.AnotherBean"/>
    <bean id="yetAnotherBean" class="examples.YetAnotherBean"/>
    public class ExampleBean {
    
      private AnotherBean beanOne;
      private YetAnotherBean beanTwo;
      private int i;
    
      public ExampleBean(
          AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {
          this.beanOne = anotherBean;
          this.beanTwo = yetAnotherBean;
          this.i = i;
      }
    }

    注入方式三:静态工厂方法注入

    <bean id="exampleBean" class="examples.ExampleBean"
        factory-method="createInstance">
    <constructor-arg ref="anotherExampleBean"/>
    <constructor-arg ref="yetAnotherBean"/>
    <constructor-arg value="1"/>
    </bean>
    
    <bean id="anotherExampleBean" class="examples.AnotherBean"/>
    <bean id="yetAnotherBean" class="examples.YetAnotherBean"/>
    public class ExampleBean {
    
      // a private constructor
      private ExampleBean(...) {
        ...
      }
      
      // a static factory method; the arguments to this method can be
      // considered the dependencies of the bean that is returned,
      // regardless of how those arguments are actually used.
      public static ExampleBean createInstance (
              AnotherBean anotherBean, YetAnotherBean yetAnotherBean, int i) {
    
          ExampleBean eb = new ExampleBean (...);
          // some other operations...
          return eb;
      }
    }

    注入方式四:自动装配

  • 相关阅读:
    android常用工具类
    SharedPreferences的工具类
    Dialog对话框管理工具类
    Logger日志管理工具类
    android 复制、粘贴文字
    sd卡文件操作
    AndroidManifest.xml file missing 解决方案
    Jar mismatch! Fix your dependencies
    时间戳和字符串之间的互相转换
    常见块元素和内联元素
  • 原文地址:https://www.cnblogs.com/mengjianzhou/p/5986841.html
Copyright © 2011-2022 走看看