Usage of property config file In Spring Framework
|
|
|
|
|
//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();
}
}
|
|
|
|
|
|
|
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
|