Mega Code Archive

 
Categories / Java / Spring
 

IoC in properties file

/* 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 View {     public void render();          public void setModel(Model m);     public Model getModel(); } /////////////////////////////////////////////////////////////////////////////////////// public interface Model {   public String getMessage(); } /////////////////////////////////////////////////////////////////////////////////////// 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 HelloWorldSpring {     public static void main(String[] args) throws Exception {         // get the bean factory         BeanFactory factory = getBeanFactory();         View v = (View) factory.getBean("view");         Model mp = (Model) factory.getBean("model");         v.setModel(mp);         v.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(HelloWorldSpring.class.getResource("beans.properties").openStream());         rdr.registerBeanDefinitions(props);         return factory;     } }                     HelloWorld.zip( 1,199 k)