`

Spring Gossip: BeanFactory、ApplicationContext

阅读更多

BeanFactory负责读取Bean定义档,管理物件的载入、生成,物件之间的关系维护,负责Bean的生命周期,对于简单的应用程式来说,使用BeanFactory就已经足够,但是若要利用到Spring在框架上的一些功能以及进阶的容器功能,则可以使用ApplicationContext,BeanFactory则通常用于一些资源有限的装置,像是行动设备。

ApplicationContext的基本功能與BeanFactory很相似,它也負責讀取Bean定義檔,維護Bean之間的關係等,然而ApplicationContext提供的一個應用程式所需的更完整的框架功能: ApplicationContext的基本功能与BeanFactory很相似,它也负责读取Bean定义档,维护Bean之间的关系等,然而ApplicationContext提供的一个应用程式所需的更完整的框架功能:

  • ApplicationContext提供取得資源檔案更方便的方法。 ApplicationContext提供取得资源档案更方便的方法。
  • ApplicationContext提供文字訊息解析的方法,並支援國際化(Internationalization, I18N)訊息。 ApplicationContext提供文字讯息解析的方法,并支援国际化(Internationalization, I18N)讯息。
  • ApplicationContext可以發佈事件,對事件感興趣的Bean可以接收到這些事件。 ApplicationContext可以发布事件,对事件感兴趣的Bean可以接收到这些事件。


Rod Johnson建議使用ApplicationContext來取代BeanFactory,在許多實作ApplicationContext的類別中,最常使用的大概是以下三個: Rod Johnson建议使用ApplicationContext来取代BeanFactory,在许多实作ApplicationContext的类别中,最常使用的大概是以下三个:

  • FileSystemXmlApplicationContext
可指定XML定義檔的相對路徑或絕對路徑來讀取定義檔。 可指定XML定义档的相对路径或绝对路径来读取定义档。
  • ClassPathXmlApplicationContext
從Classpath中來讀取XML定義檔。 从Classpath中来读取XML定义档。
  • XmlWebApplicationContext
在Web應用程式中的檔案架構中讀取定義檔。 在Web应用程式中的档案架构中读取定义档。


舉個例子來說,可以將第一個 Spring 程式中的測試程式修改為以下的內容: 举个例子来说,可以将第一个Spring程式中的测试程式修改为以下的内容:

  • SpringDemo.java
 package onlyfun.caterpillar; package onlyfun.caterpillar; 

 import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext; 
 import org.springframework.context.support.FileSystemXmlApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; 

 public class SpringDemo { public class SpringDemo { 
 public static void main(String[] args) { public static void main(String[] args) { 
 ApplicationContext context = ApplicationContext context = 
 new FileSystemXmlApplicationContext("beans-config.xml"); new FileSystemXmlApplicationContext("beans-config.xml"); 

 HelloBean hello = HelloBean hello = 
 (HelloBean) context.getBean("helloBean"); (HelloBean) context.getBean("helloBean"); 
 System.out.println(hello.getHelloWord()); 
 } 
 } 


為了能編譯與執行以上的程式,您必須將spring-context.jar加入至Classpath的設定中。 为了能编译与执行以上的程式,您必须将spring-context.jar加入至Classpath的设定中。

ApplicationContext繼承自多個介面:ApplicationEventPublisher、 HierarchicalBeanFactory、ListableBeanFactory、MessageSource、 ResourceLoader,相關的介面與使用說明,在往後的主題會一一介紹。 ApplicationContext继承自多个介面:ApplicationEventPublisher、HierarchicalBeanFactory、ListableBeanFactory、MessageSource、ResourceLoader,相关的介面与使用说明,在往后的主题会一一介绍。
ApplicationContext 

分享到:
评论

相关推荐

    Java经典问题算法大全

    2.Algorithm Gossip: 费式数列. 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官(一) 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八...

    经典算法大全.pdf

    巴斯卡三角形 6 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 6.Algorithm Gossip: 老鼠走迷官(二) 11 7.Algorithm Gossip: 骑士走棋盘 13 8.Algorithm Gossip: 八皇后 ...

    开源框架 Spring Gossip

    简介 Spring Inversion of Control Dependency Injection <br> 核心容器 Spring 核心容器实作了 IoC,BeanFactory 与 ApplicationContext 的运用是了解 Spring 的重点所在。 管理 Bean...

    经典算法大全

    2.Algorithm Gossip: 费式数列 5 3. 巴斯卡三角形 6 4.Algorithm Gossip: 三色棋 7 5.Algorithm Gossip: 老鼠走迷官(一) 9 6.Algorithm Gossip: 老鼠走迷官(二) 11 7.Algorithm Gossip: 骑士走棋盘 ...

    学习spring的很好的参考资料——Spring Gossip

    此为很有人气的Gossip的学习笔记,里面深入浅出的讲解了关于spring框架的知识与学习心得,是理解spring的不可多得的好资料。 此资料为html形式,每个知识点单独列为一张html页面,阅读很方便,不需要pdf格式下的阅读...

    R-gossip:分布式负载均衡效率优化算法.pdf

    R-gossip算法通过在分布式系统的集群代理节点上设置移位寄存器,优化了传统gossip算法的收敛速度和负载均衡效率。这一改进为分布式系统提供了一种有效的负载均衡优化方案,对分布式系统设计和性能优化具有重要的指导...

    Algorithm.rar_Algorithm Gossip_gossip_gossip algorithm_gossip算法

    2.Algorithm Gossip: 费式数列 3. 巴斯卡三角形 4.Algorithm Gossip: 三色棋 5.Algorithm Gossip: 老鼠走迷官 6.Algorithm Gossip: 老鼠走迷官(二) 7.Algorithm Gossip: 骑士走棋盘 8.Algorithm Gossip: 八皇 9....

    spring学习资料大全

    - **Bean容器**:Spring通过BeanFactory和ApplicationContext管理应用中的对象,它们负责创建、初始化、配置以及管理Bean。 - **AOP**:Spring的面向切面编程允许开发者定义“切面”,实现代码的模块化,如日志、...

    camel-gossip:骆驼八卦

    草稿用法: from("gossip://<bound>:<port>/?peers=<listOfPeers>&routeIds=<listOfRouteIdsToControl>").to("controlbus:route");listOfRouteIdsToControl在此节点被提升/降级时启动/停止。 当您在需要故障转移...

    gossip:Gossip协议的Go实现

    Gossip协议的Go实现。 概述 该软件包提供了最终一致的内存中数据存储的实现。 数据存储值使用推挽式八卦协议进行交换。 // Create a gossiper g := NewGossiper("<ip>:<port>", "<unique>", "<peer>") // Add ...

    R-gossip:分布式负载均衡效率优化算法

    针对在分布式一致性系统中常用的gossip算法负载均衡效率较低的问题,本文在概率gossip算法(probabilistic gossip algorithm)的基础上,设计了一种寄存器gossip算法(register gossip algorithm,下文简称R-gossip...

    99乘法表java源码-gossip:一个javalisp解析器

    gossip - yet another lisp interpreter gossip是一个lisp解释器, 语法借鉴了scheme以及common lisp, 此项目的主要目的是学习。 安装 下载源码 打包: mvn package 运行方式: java -jar your_gossip_home/gossip-1.0-...

    nodejs_gossip:nodejs八卦协议实现

    nodejs_八卦 nodejs八卦协议实现 nodejs 八卦.js 连接到 localhost:8080 在 chrome 中查看网络状态 控制台命令: 重启重置对等体颜色 css_color 建立网络的节点 断网示例 重建网络

    CSC-582-3-W15-GOSSIP:分布式八卦算法

    分布式八卦算法,通常被称为Gossip协议,是一种在分布式系统中高效传播和同步信息的方法。它在许多场景下被广泛使用,比如在大规模的数据库复制、负载均衡、故障检测以及网络中的消息传递等。这种算法的设计灵感来源...

    gossip:一个在线用户界面,可以有效地创作和交付令人敬畏的和内容丰富的演示文稿。 :rocket:

    因此,我将软件命名为Gossip来构建一个工具,该工具使用户可以更有效,更方便地制作和传达故事。 使您的下一个演示文稿不是演示文稿。 入门 有一个可以帮助您使用Gossip创建和交付演示文稿所需的所有技术。 还有...

    p2p-gossip:用于请求工件的 p2p 八卦协议

    例如,./ ./gossip -p --verbose 实例化二进制后续时间以使用get参数接收资源。 例如,./ ./gossip get cats.jpg 运行测试 运行单元测试不需要任何设置。 go test ./... 包装说明 ID ID 包提供了生成唯一的随机 ...

    gossip:通过网络套接字发送和接收消息的基准

    标题中的“gossip”通常指的是一个分布式通信协议或库,用于节点间的高效、可靠的消息传递。在这种场景下,它可能是用JavaScript实现的一个轻量级、去中心化的通信框架,允许程序通过网络套接字(network sockets)...

    springcloud部署redis集群

    集群中的节点之间通过Gossip协议进行通信,用于发现和管理节点状态。 在部署Redis集群前,你需要准备至少三个物理或虚拟机,因为Redis集群至少需要三个主节点来保证数据的可用性。每个节点都需要安装并启动Redis...

Global site tag (gtag.js) - Google Analytics