日期:2014-05-19  浏览次数:20972 次

关于spring的几种注入问题
最近看了《spring从入门到精通》看到接口注入、getter\setter、还有构造器注入不明白他们的区别和在实际项目中应用的程度、谁有这几种注入的源代码例子吗?还能解释下在项目中的应用呢?

------解决方案--------------------
getter\setter、 就是属性注入,一个属性提供setter方法,就可一注入了
构造方法注入,就是你提供有参的构造方法,通过参数注入

Java code


//类ReCalculateIndexName有个recalculateIndexNameMap属性,提供了setter方法,注入一个map
     <bean name="reCalculateIndexName" 
          class="com.huawei.datavoice.common.ReCalculateIndexName">
         
          <property name="recalculateIndexNameMap">
              <map>
                 <entry key = "index.version.defect.dts">
                      <value>index.version.defect.discover.suggestion.Bversion</value>
                 </entry>
                 <entry key = "index.version.defect.jira">
                      <value>index.version.defect.jira.total.number.critical.daily</value>
                 </entry>
                 <entry key = "index.version.demand.story">
                      <value>index.version.demand.jira.story.total.number.critical.daily</value>
                 </entry>
              </map>
          </property>
     </bean>
//构造方法注入DefaultSpringSecurityContextSource这个类有个有参的构造方法,参数是个字符串
    <bean id="contextSource"
        class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
        <constructor-arg value="ldap://xxxx" />
    </bean>

------解决方案--------------------
探讨

getter\setter、 就是属性注入,一个属性提供setter方法,就可一注入了
构造方法注入,就是你提供有参的构造方法,通过参数注入

Java code


//类ReCalculateIndexName有个recalculateIndexNameMap属性,提供了setter方法,注入一个map
<bean name="reCalculateIndexName"
……

------解决方案--------------------
探讨

getter\setter、 就是属性注入,一个属性提供setter方法,就可一注入了
构造方法注入,就是你提供有参的构造方法,通过参数注入

Java code


//类ReCalculateIndexName有个recalculateIndexNameMap属性,提供了setter方法,注入一个map
<bean name="reCalculateIndexName"
……