阅读914 返回首页    go 阿里云 go 技术社区[云栖]


Spring-Bean的属性(1.单独定义BEAN,ID为之的BEAN参考之 2.在BEAN中直接定义参考的BEAN)

首先在名称为HelloWorld的Bean中增加一个Date类型的私有变量

然后改写Spring的配置文档config.xml,添加一个id为date的Bean,并在原来的id为HelloWorld的Bean中参考配置文档中定义的id为date的Bean

最后修改测试程序TestHelloWorld.java



一定要注意构造函数!




helloworld.java

package com.gc.action;

import java.util.Date;

public class HelloWorld {

	private String msg=null;//该变量用来存储字符串
	private Date date=null;//该变量用来存储日期
	
	public HelloWorld(String msg)
	{
		    this.msg=msg;	
	}
	
	public HelloWorld()//这个必须写,否则不能转到上面的那个
	{
	    this.msg=msg;	
	}
	
	//设定变量msg的set方法
	public void setMsg(String msg) {
		this.msg=msg;
	}
	
	//获取变量msg的get方法
	public String getMsg() {
		return this.msg;
	}

	public Date getDate() {
		return this.date;
	}

	public void setDate(Date date) {
		this.date = date;
	}
	
	
	
}

不写构造函数的话,JVM虚拟机内部会默认去找原先的那个没有参数的构造函数,从而导致我的程序出错!



config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"https://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!--定义一个Bean-->
    <bean  >
    <!--将其变量msg通过依赖注入-->
    <property name="msg">
    <value>english zhuzhengke</value>
    </property>
    
        <property name="date">
    <ref bean="date"/>
    </property>
    
    </bean>
    
    <bean  />
</beans>


TestHelloWorld.java

package com.gc.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.gc.action.HelloWorld;


public class TestHelloWorld {
    public static void main(String[] args)
    {
    	//通过ApplicationContext来获取Spring文件的配置
    	ApplicationContext actx=new FileSystemXmlApplicationContext("config.xml");
    
        //通过Bean的id来获取Bean
    	HelloWorld helloworld=(HelloWorld)actx.getBean("HelloWorld");
    	
    	//打印输出
    	System.out.println(helloworld.getMsg()+""+helloworld.getDate());
    }
}



输出:

english zhuzhengkeMon Mar 19 15:10:02 CST 2012


另外一种定义BEAN属性的方法:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"https://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!--定义一个Bean-->
    <bean  >
    <!--将其变量msg通过依赖注入-->
    <property name="msg">
    <value>english zhuzhengke</value>
    </property>
    
        <property name="date">
    <bean  />
    </property>
    
    </bean>
    
    
</beans>

输出:

english zhuzhengkeMon Mar 19 15:10:02 CST 2012







最后更新:2017-04-02 22:16:38

  上一篇:go Spring-Bean的初始化(init方法和实现org.springframework.beans.factory.InitializingBean接口)
  下一篇:go android 系统日志Logcat 完全捕获