Spring核心开发包:
Spring Core,Spring Bean,Spring AOP,Spring Context
辅助开发包:
Spring Aspects,Spring Context Support,Spring Expression,Spring Framework Bom,Spring Instrument,
Spring Instrument Tomcat,Spring JDBC,Spring JMS,Spring orm,Spring oxm,Spring Struts,Spring test,
Spring tx,Spring web,Spring webmvc,Spring webmvc portlet
src.HelloMessage.java
package src;
/**
* Created by lenovo on 2016/3/9.
*/
public interface HelloMessage {
public String sayHello();
}
package src;
/**
* Created by lenovo on 2016/3/9.
*/
public class HelloChina implements HelloMessage {
@Override
public String sayHello() {
return "大家好";
}
}
package src;
/**
* Created by lenovo on 2016/3/9.
*/
public class HelloWorld implements HelloMessage {
@Override
public String sayHello() {
return "Hello world";
}
}
package src;
/**
* Created by lenovo on 2016/3/9.
*/
public class Person {
private HelloMessage helloMessage;
public HelloMessage getHelloMessage() {
return helloMessage;
}
public void setHelloMessage(HelloMessage helloMessage) {
this.helloMessage = helloMessage;
}
public String sayHello(){
return this.getHelloMessage().sayHello();
}
}
src.Main.java
package src;
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;
/**
* Created by lenovo on 2016/3/9.
*/
public class Main {
public static void main(String[] args){
Resource resource=new FileSystemResource("helloMessage.xml");
BeanFactory beanFactory=new XmlBeanFactory(resource);
Person person=(Person)beanFactory.getBean("person");
System.out.println(person.sayHello());
}
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloWorld" class="src.HelloWorld" />
<bean id="helloChina" class="src.HelloChina" />
<bean id="person" class="src.Person">
<property name="helloMessage" ref="helloWorld" />
</bean>
</beans>
只需要修改helloMessage.xml中的配合信息,就可以轻松切换不同的bean,无须关注各个对象之间的耦合关系