IoC in properties file
/*
Pro Spring
By Rob Harrop
Jan Machacek
ISBN: 1-59059-461-4
Publisher: Apress
*/
///////////////////////////////////////////////////////////////////////////////////////
//File: beans.properties
# The View
view. class =StandardOutView
view.model ( ref ) =model
# The Model
model. class =HelloWorldModel
///////////////////////////////////////////////////////////////////////////////////////
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 {
public String getMessage () {
return "Hello World!" ;
}
}
///////////////////////////////////////////////////////////////////////////////////////
import java.io.FileInputStream;
import java.util.Properties;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.support.PropertiesBeanDefinitionReader;
public class HelloWorldSpring {
public static void main ( String [] args ) throws Exception {
// get the bean factory
BeanFactory factory = getBeanFactory () ;
View v = ( View ) factory.getBean ( "view" ) ;
Model mp = ( Model ) factory.getBean ( "model" ) ;
v.setModel ( mp ) ;
v.render () ;
}
private static BeanFactory getBeanFactory () throws Exception {
// get the bean factory
DefaultListableBeanFactory factory = new DefaultListableBeanFactory () ;
// create a definition reader
PropertiesBeanDefinitionReader rdr = new PropertiesBeanDefinitionReader (
factory ) ;
// load the configuration options
Properties props = new Properties () ;
props.load ( HelloWorldSpring. class .getResource ( "beans.properties" ) .openStream ()) ;
rdr.registerBeanDefinitions ( props ) ;
return factory;
}
}
HelloWorld.zip( 1,199 k)
Related examples in the same category