Simplest Usage of property config file In Spring
/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/
///////////////////////////////////////////////////////////////////////////////////////
//File: msf.properties
renderer.class=StandardOutView
provider.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;
public class MessageSupportFactory {
private static MessageSupportFactory instance = null;
private Properties props = null;
private View renderer = null;
private Model provider = null;
private MessageSupportFactory() {
props = new Properties();
try {
props.load( MessageSupportFactory.class.getResource("msf.properties").openStream());
// get the implementation classes
String rendererClass = props.getProperty("renderer.class");
String providerClass = props.getProperty("provider.class");
renderer = (View) Class.forName(rendererClass).newInstance();
provider = (Model) Class.forName(providerClass).newInstance();
} catch (Exception ex) {
ex.printStackTrace();
}
}
static {
instance = new MessageSupportFactory();
}
public static MessageSupportFactory getInstance() {
return instance;
}
public View getView() {
return renderer;
}
public Model getModel() {
return provider;
}
}
///////////////////////////////////////////////////////////////////////////////////////
public class HelloWorldDecoupledWithFactory {
public static void main(String[] args) {
View mr = MessageSupportFactory.getInstance().getView();
Model mp = MessageSupportFactory.getInstance().getModel();
mr.setModel(mp);
mr.render();
}
}
SimplestMVCInSpring.zip( 1,201 k)Related examples in the same category