Model View Injection in Spring Framework
|
|
|
|
|
//File: beans.xml
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="provider" class="HelloWorldModel">
<constructor-arg>
<value>This is a configurable message</value>
</constructor-arg>
</bean>
<bean id="renderer" class="StandardOutView">
<property name="model">
<ref local="provider"/>
</property>
</bean>
</beans>
///////////////////////////////////////////////////////////////////////////////////////
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;
}
}
|
|
|
|
|
|
|
All
api
java
java 6.0
java 7.0
jdbc
jsp
servlet
ejb
jndi
jms
ejb 3.0
j2ee
jee 5.0
jee 6.0
jsf
struts
spring
Hibernate
ajax
JBoss Seam
netbeans
eclipse
ant
xml
maven
dojo
junit
javafx
j2me
log4j
ESB
JBoss
Apache
Quartz
scjp
mysql
oracle
gwt
openjpa
jmx
yui
google-guice
android
JBoss
scwcd 5.0
scjp 1.5
scjp 1.6
scja
scbcd 5.0
|