Subscribe

RSS Feed (xml)

Powered By

Skin Design:
Free Blogger Skins

Powered by Blogger

Thursday, November 22, 2007

java code for Model View Injection in Spring

/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/



///////////////////////////////////////////////////////////////////////////////////////
//File: beans.xml




This is a configurable message










///////////////////////////////////////////////////////////////////////////////////////

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 {
String mess;

public HelloWorldModel(String m){
mess = m;
}


public String getMessage() {

return mess;
}

}
///////////////////////////////////////////////////////////////////////////////////////
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class HelloWorldXml {

public static void main(String[] args) throws Exception {

// get the bean factory
BeanFactory factory = getBeanFactory();

View mr = (View) factory.getBean("renderer");
Model mp = (Model) factory.getBean("provider");

mr.setModel(mp);
mr.render();
}

private static BeanFactory getBeanFactory() throws Exception {
// get the bean factory
BeanFactory factory = new XmlBeanFactory(new FileSystemResource(
"build/beans.xml"));

return factory;
}
}

No comments: