Spring Java

/*
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)