ProSpring讀書筆記
chapter2:
package com.apress.prospring.ch2;
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 HelloWorldWithDI {
public static void main(String[] args) throws Exception {
//get BeanFactory
BeanFactory factory=getBeanFactory();
MessageRenderer mr=(MessageRenderer)factory.getBean("renderer");
mr.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(new FileInputStream("./ch2/src/conf/beans.properties"));
rdr.registerBeanDefinitions(props);
return factory;
}
}
beans.properties:
renderer.class=com.apress.prospring.ch2.StandardOutMessageRenderer
renderer.messageProvider(ref)=provider
provider.class=com.apress.prospring.ch2.HelloWorldMessageProvider
DefaultListableBeanFactory負責從properties文件讀取BeanFactory的配置信息,然后返回已配置的實例。
這個配置文件已經定義了DI關系,所以在main方法中無需設置MessageRenderer 和MessageProvider的依賴關系。
package com.apress.prospring.ch2;
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 HelloWorldWithDI {
public static void main(String[] args) throws Exception {
//get BeanFactory
BeanFactory factory=getBeanFactory();
MessageRenderer mr=(MessageRenderer)factory.getBean("renderer");
mr.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(new FileInputStream("./ch2/src/conf/beans.properties"));
rdr.registerBeanDefinitions(props);
return factory;
}
}
beans.properties:
renderer.class=com.apress.prospring.ch2.StandardOutMessageRenderer
renderer.messageProvider(ref)=provider
provider.class=com.apress.prospring.ch2.HelloWorldMessageProvider
DefaultListableBeanFactory負責從properties文件讀取BeanFactory的配置信息,然后返回已配置的實例。
這個配置文件已經定義了DI關系,所以在main方法中無需設置MessageRenderer 和MessageProvider的依賴關系。
posted on 2007-04-02 13:16 小雨不打傘 閱讀(373) 評論(0) 編輯 收藏 所屬分類: Spring