posts - 495,comments - 227,trackbacks - 0

          有兩種用法,一種是直接吧方法的返回值注入到實(shí)例的屬性,二是用返回值定義成Bean

          定義實(shí)體:

          package Bean.superIOCmethod;

          public class Person {
             
          private Son son;
             
          private String age;
          public String getAge() {
              
          return age;
          }

          public void setAge(String age) {
              
          this.age = age;
          }

          public Son getSon() {
              
          return son;
          }

          public void setSon(Son son) {
              
          this.son = son;
          }

          }



          package Bean.superIOCmethod;

          public class Son {
            
          private String age;

          public String getAge() {
              
          return age;
          }


          public void setAge(String age) {
              
          this.age = age;
          }

          }
          package Bean.superIOCmethod;
          public class Field {
             public static final String TEST_FIELD="welcom";
             public String getValue(){
              return "test";
             }
             public static String getStaticValue(){
              return "static test";
             }
          }


          配置文件:

          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

          <beans>
            
          <!-- 非靜態(tài)方法,使用targetObject -->
            
          <bean id="son" class="Bean.superIOCmethod.Son">
               
          <property name="age">
                 
          <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
                    
          <property name="targetObject">
                        
          <ref local="value"/>
                    
          </property>
                    
          <property name="targetMethod">
                       
          <value>getValue</value>
                    
          </property>
                 
          </bean>
               
          </property>
            
          </bean>
             
          <!-- 靜態(tài)方法,無需使用targetObject,但要配置targetClass -->
            
          <bean id="staticson" class="Bean.superIOCmethod.Son">
               
          <property name="age">
                 
          <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
                    
          <property name="targetClass">
                      
          <value>Bean.superIOCmethod.Field</value>
                    
          </property>
                    
          <property name="targetMethod">
                       
          <value>getStaticValue</value>
                    
          </property>
                 
          </bean>
               
          </property>
            
          </bean>
            
            
          <!-- 將方法返回值定義成Bean -->
            
          <bean id="sysProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
                 
          <property name="targetClass">
                   
          <value>java.lang.System</value>
                 
          </property>
                 
          <property name="targetMethod">
                   
          <value>getProperties</value>
                 
          </property>
             
          </bean>
             
             
          <bean id="javaversion" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
                
          <property name="targetObject">
                  
          <ref local="sysProps"/>
                
          </property>
                
          <property name="targetMethod">
                  
          <value>getProperty</value>
                
          </property>
                
          <property name="arguments">
                   
          <list>
                     
          <value>java.version</value>
                   
          </list>
                
          </property>
             
          </bean>
            
          <bean id="value" class="Bean.superIOCmethod.Field">
            
          </bean>
          </beans>

          posted on 2011-10-17 11:30 SIMONE 閱讀(329) 評論(0)  編輯  收藏 所屬分類: JAVA
          主站蜘蛛池模板: 兴化市| 红桥区| 平利县| 沅陵县| 呈贡县| 渑池县| 花莲市| 乌兰浩特市| 芮城县| 永泰县| 丹巴县| 应用必备| 曲沃县| 抚远县| 常熟市| 石家庄市| 体育| 彭山县| 西林县| 巢湖市| 正定县| 民乐县| 齐河县| 澜沧| 贵南县| 保山市| 郑州市| 苏尼特右旗| 布尔津县| 平南县| 建德市| 平昌县| 集贤县| 垫江县| 平乡县| 土默特右旗| 新干县| 宁强县| 宣汉县| 越西县| 汉中市|