IoC XML Config
/* Pro Spring By Rob Harrop Jan Machacek ISBN: 1-59059-461-4 Publisher: Apress */ /////////////////////////////////////////////////////////////////////////////////////// //File: beans.properties # The View view.class=StandardOutView view.model(ref)=model # The Model model.class=HelloWorldModel /////////////////////////////////////////////////////////////////////////////////////// public interface Model { public String getMessage(); } /////////////////////////////////////////////////////////////////////////////////////// public interface View { public void render(); public void setModel(Model m); public Model getModel(); } /////////////////////////////////////////////////////////////////////////////////////// public class StandardOutView implements View { private Model model = null; public void render() { if (model == null) { throw new RuntimeException( "You must set the property model of class:" + StandardOutView.class.getName()); } System.out.println(model.getMessage()); } public void setModel(Model m) { this.model = m; } public Model getModel() { return this.model; } } /////////////////////////////////////////////////////////////////////////////////////// public class HelloWorldModel implements Model { public String getMessage() { return "Hello World!"; } } /////////////////////////////////////////////////////////////////////////////////////// import java.io.FileInputStream; import java.util.Properties; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.support.DefaultListableBeanFactory; import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader; public class HelloWorldSpringWithDI { public static void main(String[] args) throws Exception { // get the bean factory BeanFactory factory = getBeanFactory(); View mr = (View) factory.getBean("view"); mr.render(); } private static BeanFactory getBeanFactory() throws Exception { // get the bean factory DefaultListableBeanFactory factory = new DefaultListableBeanFactory(); // create a definition reader PropertiesBeanDefinitionReader rdr = new PropertiesBeanDefinitionReader( factory); // load the configuration options Properties props = new Properties(); props.load(HelloWorldSpringWithDI.class.getResource("beans.properties").openStream()); rdr.registerBeanDefinitions(props); return factory; } }