Mega Code Archive

 
Categories / Java / Spring
 

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)