Spring In Action-学习(2)

《读书笔记-原创》

1、Bean容器(载入Bean定义信息,装配Bean,根据需要分发Bean)。

(1)BeanFactory
String filePath = "/wuyechun/hellomyspring/hello.xml";
BeanFactory factory = new XmlBeanFactory(new FileSystemResource(filePath));
GreetingServiceImpl serviceImpl = (GreetingServiceImpl) factory.getBean("GreetingServiceImpl");
    

(2)AplicationContext(应用上下文)
常用实现方式:
<1>ClassPathXmlApplicationContext-从类路径中的XML文件载入上下文定义信息,把上下文定义文件当成类路径资源。
<2>FileSystemXmlApplicationContext-从文件系统中的XML文件载入上下文定义信息。
<3>XmlWebApplicationContext-从web系统中的XML文件载入上下文定义信息。

 

注:
1、Applicationcontext提供更多的功能:
<1>提供了文本信息解析工具,包括对国际化的支持。
<2>提供了载入文件资源的通用方法,如载入图片。
<3>可以向注册为监听器的Bean发送事件。
由于其提供的附加功能,几乎所有的应用系统都选择ApplicationContext而不是BeanFaction,
只有在资源很少的情况下,才会考虑采用BeanFactory,如在移动设备上。
2、ApplictionContext与BeanFactory另一个重要区别-单实例Bean载入方式。
Bean工厂延迟载入所有的Bean,直到getBean()方法被调用时Bean才会被创建。
应用上下文更聪明一些,它会在上下文启动后预载入所有的单实例Bean,通过
预载入单实例Bean,确保当你需要时它们已经准备好了,你的应用不需要等待
它们被创建。

你可能感兴趣的:(spring)