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(); } }
1. | IoC XML Config | ![]() | |
2. | Load Bean Definition From XML File | ![]() | |
3. | Lookup Demo | ![]() | |
4. | IoC in properties file | ![]() |