HelloBean.java
java 代码
- package com.gjx.spring;
- import java.util.Date;
- public class HelloBean {
- private String name;
- private String helloWord;
- private Date date;
- public HelloBean() {
- }
- public HelloBean(String helloWord,Date date){
- this.helloWord=helloWord;
- this.date=date;
- }
- public HelloBean(String name, String helloWord) {
- this.name = name;
- this.helloWord = helloWord;
- }
- public String getHelloWord() {
- return helloWord;
- }
- public void setHelloWord(String helloWord) {
- this.helloWord = helloWord;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Date getDate() {
- return date;
- }
- public void setDate(Date date) {
- this.date = date;
- }
- }
hellobean-config.xml
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
- <beans>
- <!-- 默认的情况下是按照 参数的顺序 注入 当指定index索引后就可以改变注入参数的顺序 -->
- <bean id="helloBean" class="com.gjx.spring.HelloBean">
- <constructor-arg index="0">
- <value>冬国</value>
- </constructor-arg>
- <constructor-arg index="1">
- <value>你好 </value>
- </constructor-arg>
- </bean>
- <!-- 当构造函数的参数相同时,Spring会自动找到配制的构造方法 也可以用 type 来明确指定要用那个类型-->
- <bean id="date" class="java.util.Date" />
- <bean id="helloBean2" class="com.gjx.spring.HelloBean">
- <constructor-arg index="0">
- <value>哈哈</value>
- </constructor-arg>
- <constructor-arg index="1" type="java.util.Date">
- <ref bean="date"/>
- </constructor-arg>
- </bean>
- </beans>
测试
java 代码
- package Test.com.gjx.spring;
- import java.util.Date;
- import junit.framework.TestCase;
- import org.springframework.beans.factory.BeanFactory;
- import org.springframework.beans.factory.xml.XmlBeanFactory;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- import org.springframework.core.io.ClassPathResource;
- import org.springframework.core.io.Resource;
- import com.gjx.spring.HelloBean;
- import com.gjx.spring.SomeBean;
- public class TestHelloBean extends TestCase {
- /*
- * BeanFactory负责读取Bean的定义文件;管理对象的加载。生成。维护Bean对象与Bean对象之间的依赖关系
- * 但只适合简单的应用程序
- */
- public void testHelloWord() {
- Resource rs = new ClassPathResource("hellobean-config.xml");
- BeanFactory factory = new XmlBeanFactory(rs);
- HelloBean hello = (HelloBean) factory.getBean("helloBean");
- HelloBean hello2 = (HelloBean) factory.getBean("helloBean2");
- System.out.println(hello.getHelloWord()+" "+hello.getName());
- System.out.println(hello2.getHelloWord()+" "+(Date)hello2.getDate());
- }
- }
结果:
你好 冬国
哈哈 Fri Aug 17 15:10:23 CST 2007