IoC in properties file : IoC Config « Spring « Java






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

1.Simplest Usage of property config file In Spring
2.IoC XML Config
3.Load Bean Definition From XML File
4.Lookup Demo