首先我们介绍1下Spring核心开发包及其基本用处:
Spring核心开发包的基本用处
Spring Core:包括Spring框架基本的核心工具类,Spring其他组件都要使用这个包里边的类,也能够在自己的利用系统里边使用这些工具类。
Spring Beans:所有利用都要用到,包括了访问配置文件,创建和管理Bean,控制反转和依赖注入的所有类。
Spring AOP:包括了使用AOP特性时候的所有类。
Spring Context:为Spring核心提供了大量扩大,能够找到JNDI等使用时的全部类。
下面我们创建1个实例,将HelloWorld和HelloChina类分别扩大自同1个接口,接着分别实现sayHello方法,将这两个类分别注入到Person类中,在Person类中调用sayHello方法,最后再建立1个Main类,通过Main类来进行全部程序的运行。
注意:我们在配置Spring的时候,需要再单独下载commons-logging进行同时配置Jar文件,否则项目没法运行。
全部程序的结构是这样的:

下面给出IHelloMessage代码:
package com.nofaker.spring.chapter01;
public interface IHelloMessage {
public String sayHello();
}package com.nofaker.spring.chapter01;
public class HelloChina implements IHelloMessage {
@Override
public String sayHello() {
return "大家好";
}
}
package com.nofaker.spring.chapter01;
public class HelloWorld implements IHelloMessage {
@Override
public String sayHello() {
return "Hello World!";
}
}
下面我们建立Person类:
package com.nofaker.spring.chapter01;
public class Person {
private IHelloMessage helloMessage;
public IHelloMessage getHelloMessage() {
return helloMessage;
}
public void setHelloMessage(IHelloMessage helloMessage) {
this.helloMessage = helloMessage;
}
public String sayHello() {
return this.helloMessage.sayHello();
}
}
最后实现Main类:
package com.nofaker.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) {
Resource r = new FileSystemResource("helloMessage.xml");
//通过FileSystemResource获得xml配置文件
BeanFactory f = new XmlBeanFactory(r);
//加载配置文件,启动IOC容器
Person person = (Person)f.getBean("person");
//通过IOC容器获得Person类实例
String s = person.sayHello();
//通过Person类获得输出信息
System.out.println(s);
}
}
Main类里边的main方法是全部程序的入口。DOCTYPE 用于告知程序中使用那种规范来解析配置文件
id属性是BeanFactory中的唯1标识,代码中BeanFactory通过这个id来索引获得(getBean方法)相应的JavaBean实例。
<beans>....</beans>是根节点,里边包括了1些bean节点(即为JavaBean),通过properity属性将1个类注入到这个类里边。
<?xml version="1.0" encoding="UTF⑻"?> <!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="helloWorld" class="com.nofaker.spring.chapter01.HelloWorld"></bean> <bean id="helloChina" class="com.nofaker.spring.chapter01.HelloChina"></bean> <bean id="person" class="com.nofaker.spring.chapter01.Person"> <property name="helloMessage" ref="helloChina"/> </bean> </beans>通过修改ref的值,即可以将不同的类注入到person类中。
最后我们在Main.java中右击选择Run As->Java Application,不同的注入可以得到不同的结果:

