spring-study-01 第一个示例

版权声明:本文为博主原创文章,经博主允许,可自由共享,尽量不要用于商业用途。 https://blog.csdn.net/matrixbbs/article/details/88244662

1 安装JDK,并完成配置
2 安装STS,并完成相应的配置STS
3 启动,创建java project
4 创建包com.zfh.spring.chapter01
5 创建文件夹lib,复制所有spring4.2.0的jar包到lib目录下,然后添加到build path中
从官网上可以下载到这些包
6创建接口和类,以及驱动类,创建配置文件,完成IOC配置,然后就可以测试了
IHelloMessage.java

package com.zfh.spring.chapter01;

public interface IHelloMessage {

	public String sayHello();
}

Helloworld.java

package com.zfh.spring.chapter01;

public class Helloworld implements IHelloMessage {

	@Override
	public String sayHello() {
		// TODO Auto-generated method stub
		return "hello,everyone,i am in Tailand.";
	}

}

HelloChina.java

package com.zfh.spring.chapter01;

public class HelloChina implements IHelloMessage {

	@Override
	public String sayHello() {
		// TODO Auto-generated method stub
		return "大家好,这儿是成都,你晓得撒!";
	}

}

Person.java

package com.zfh.spring.chapter01;

public class Person {

	private IHelloMessage helloMessage;

	public IHelloMessage getHelloMessage() {
		return helloMessage;
	}

	public void setHelloMessage(IHelloMessage helloMessage) {   //这里,用setter方式完成注入
		this.helloMessage = helloMessage;
	}
	
	public String sayHello() {
		return this.helloMessage.sayHello();
	}
}

Main.java

package com.zfh.spring.chapter01;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//利用FileSystemResource读取配置文件
        Resource r = new FileSystemResource("helloMessage.xml");
        //利用XmlBeanFactory来加载配置文件,启动IOC容器
        BeanFactory f = new XmlBeanFactory(r);   //最新的包可能有替代的方法
        //从IOC容器中获取Person类的实例
        Person person = (Person) f.getBean("person");
        //person实例向大家输出问候信息
        String s = person.sayHello();
        //在系统控制台中打印问候信息,由于在这里配置文件中配置是HelloWorld的实例,
        //所以,在这里打印的是字符串:HelloWorld
        System.out.println("The Person is currently saying: "+s);

	}

}

helloMessage.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
"http://www.springframework.org/dtd/spring-beans.dtd">   <!-- 这一部分建议copy -->
<beans>
    <bean id="helloworld" class="com.zfh.spring.chapter01.Helloworld"></bean>
    <bean id="hellochina" class="com.zfh.spring.chapter01.HelloChina"></bean>
    <bean id="person" class="com.zfh.spring.chapter01.Person">
        <property name="helloMessage" ref="hellochina"></property> <!-- 在这里完成注入,运行项目时,这里可以换成别的bean注入进来 -->
    </bean>

</beans>

7修改配置文件,就可以完成依赖注入的更新,用容器的方式完成一个bean对另一个bean的引用(也就是依赖)

所完成的依赖注入就是:
1 Person类在main中是容器管理的,不是new出来的
2 Person类在用接口的具体方法时,注入的是helloworld或是hellochina是用配置的方式来实现的

猜你喜欢

转载自blog.csdn.net/matrixbbs/article/details/88244662