分享

Spring:构造注入

 樱花梦_张艺馨 2016-11-18
在Spring中,利用Set注入和构造注入时,在XML配置文档中使用的语法不一样:
使用setXxx()方法注入时:xml中的配置:
<bean id="HelloWord" class="com.gc.action.HelloWord">
  <property name="msg">
   <value>HelloWord123</value>
  </property>

 </bean>
------------------------------------------------
使用构造注入:
<bean id="HelloWord" class="com.gc.action.HelloWord">
  <constructor-arg index="0">
   <value>HelloWord123</value>
  </constructor-arg>

 </bean>
constructor-arg:通过构造方法注入参数;
index="0":构造方法的第一个参数
==========================HelloWord.java=======
package com.gc.action;
public class HelloWord {
 private String msg;
 //无参构造方法
 public HelloWord() {
  super();
 }
 //带参构造
 public HelloWord(String msg) {
  super();
  this.msg = msg;
 }
 
 //---getXxx 和setXxx
 public String getMsg() {
  return msg;
 }
 public void setMsg(String msg) {
  this.msg = msg;
 }
}
========================config.xml==============
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
 "http://www./dtd/spring-beans.dtd">
<beans>
 <bean id="HelloWord" class="com.gc.action.HelloWord">
  <constructor-arg index="0">
   <value>HelloWord123</value>
  </constructor-arg>
 </bean>
</beans>
====================TestHelloWord.java===================
package com.gc.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.gc.action.ChHello;
import com.gc.action.EnHello;
import com.gc.action.HelloWord;
public class TestHelloWord {
 /**
  * @param args
  */
 public static void main(String[] args) {
  ApplicationContext ac =new FileSystemXmlApplicationContext("classpath:/config.xml");
  HelloWord hw =(HelloWord) ac.getBean("HelloWord");
  System.out.println(hw.getMsg());
 }
}
===================结果===================
HelloWord123

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多