说明:
通常项目中会通过PropertyPlaceholderConfigurer加载properties中的配置信息。前几天 被人问到Spring如何加载ZooKeeper中的信息时一脸茫然。看了几篇博文后记录一下过程,并附上测试代码。
环境:
操作系统:windows7
开发工具:idea 14
软件项目管理工具:maven
项目依赖:comm-lang、spring3.2.4、junit4、hamcrest、zookeeper、curator
过程描述:
1.下载Zookeeper
下载地址:http://apache.mirrors.ionfish.org/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz
2.修改Zookeeper配置文件
将zoo_sample.cfg改名为zoo.cfg
并将其中的dataDir改为本机地址,如:dataDir=E:\soft\zookeeper-3.3.6\dataDir
3.启动Zookeeper
运行服务端:%ZooKeeper_Home%/bin/zkServer.cmd
运行客户端:%ZooKeeper_Home%/bin/zkClil.cmd
4.添加数据
[zk: localhost:2181(CONNECTED) 17] create /cfg - created /cfg [zk: localhost:2181(CONNECTED) 17] create /cfg/properties jdbc.driver=org.mysql. driver created /cfg/properties [zk: localhost:2181(CONNECTED) 17] get /cfg/properties jdbc.driver=org.mysql.driver cZxid = 0x7a ctime = Mon May 25 18:01:59 CST 2015 mZxid = 0x7a mtime = Mon May 25 18:01:59 CST 2015 pZxid = 0x7a cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 28 numChildren = 0
5.将附件中的代码导入到idea中运行startup.java或ZookeeperConfigTest.java
不足:
对于zookeeper中的配置信息,如何在被Spring加载后又修改了,如何重新载入本人还没找到好的办法
参考:
Spring PropertyPlaceholderConfigurer配置文件加载器集成ZooKeeper来实现远程配置读取。
http://www.big-mouth.cn/blog/65.html
读取WEB-INF 下applicationContext.xml配置文件的信息方法
http://blog.sina.com.cn/s/blog_5d7dbcef0100tuqn.html
用spring 配置加载properties文件的时候,报Could not resolve placeholder 错误。
解决参考:http://blog.163.com/wf_shunqiziran/blog/static/176307209201282755010505/
相关推荐
这篇博客“spring mvc 读取配置文件”将深入探讨如何在Spring MVC中读取和使用配置文件,以及相关工具的应用。 首先,Spring MVC中的配置文件通常是指XML配置文件,如`applicationContext.xml`或`servlet-context....
在上面的配置中,我们使用了@Value注解来指定配置文件的路径,然后使用PropertyPlaceholderConfigurer来读取配置文件。 PropertyPlaceholderConfigurer是一个非常有用的组件,它可以帮助我们实现系统的配置信息统一...
要实现动态加载配置文件,我们可以利用Spring的`PropertyPlaceholderConfigurer`或`@PropertySource`注解。`PropertyPlaceholderConfigurer`是Spring早期版本中处理属性文件的工具,而`@PropertySource`则是从Spring...
当Spring容器启动时,`PropertyPlaceholderConfigurer`会自动找到`config.properties`文件,读取其中的`db.url`属性,并替换掉`${db.url}`,从而完成数据源的配置。 除了基本的属性文件加载,`...
总的来说,Spring的配置文件是实现IOC和AOP的关键,通过合理的配置,可以实现对象的管理、依赖注入以及面向切面的编程,从而简化代码,提高可维护性。在编写配置文件时,理解每个元素的作用以及如何组合使用它们是至...
在Spring配置文件(如`applicationContext.xml`或`beans.xml`)中,我们可以创建一个`Properties` bean来加载`jdbc.properties`: ```xml <bean id="propertyConfigurer" class="org.springframework.beans....
接下来,我们将在Spring的配置文件(如`applicationContext.xml`)中声明一个`PropertyPlaceholderConfigurer` bean,它负责加载并解析Properties文件。配置如下: ```xml class="org.springframework.beans....
在Spring框架中,读取和使用Properties文件是一种常见的配置方式,尤其当涉及到数据库连接、环境变量等需要在运行时动态加载或更改的信息时。本文将深入解析如何在Spring环境中读取Properties文件,包括配置步骤、...
PropertyPlaceholderConfigurer 是 Spring 框架中的一个重要组件,用于加载和管理 Properties 文件。它能够将 Properties 文件中的键值对注入到 Spring 的 bean 中,从而实现了配置的外部化和动态化。 基本使用方法...
在Spring框架中,我们可以使用Spring的`PropertyPlaceholderConfigurer`来读取`log4j.properties`文件中的配置,并动态注入到应用中。这允许我们在不重启应用的情况下,通过修改外部的配置文件来调整日志级别和输出...
在Java编程中,读取配置文件是常见的任务,它允许我们分离程序的配置信息,使得配置可以独立于代码进行修改,提高程序的可维护性和灵活性。这篇内容将深入讲解Java如何读取XML、INI等不同类型的配置文件。 一、XML...
这两个配置文件共同构成了Spring与Hibernate集成的基础,使得Spring能够管理数据库连接、事务,并且通过SessionFactory处理持久化对象的CRUD操作。在实际应用中,这样的配置会根据具体需求进行调整,例如使用更高级...
在本文中,我们将深入探讨Spring MVC的详细配置,特别是如何读取配置文件以及实现文件的上传和下载功能。Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。理解并...
`PropertyPlaceholderConfigurer`是Spring提供的一个实用工具类,它允许我们在配置文件中使用占位符 `${...}` 来引用外部属性文件中的值。在示例中,`location`属性指定了属性文件的位置,如`classpath:/spring/...
在Spring XML配置文件中,可以使用PropertyPlaceholderConfigurer类来加载Properties配置文件。例如: ``` <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <value>...
`PropertyPlaceholderConfigurer`允许我们在Spring的配置文件中引用外部的properties文件,以实现配置信息的灵活管理和动态加载。以下是一个基本的配置示例: ```xml class="org.springframework.beans.factory....
总结起来,Spring提供了多种方式来读取应用外部的配置文件,如`FileSystemXmlApplicationContext`用于读取XML配置,`PropertyPlaceholderConfigurer`用于处理属性文件。理解这一机制有助于我们更灵活地管理应用的...
Maven项目中读取src/main/resources目录下的配置文件...使用Java类可以使用`Properties`类来加载配置文件,而使用Spring框架可以使用`PropertyPlaceholderConfigurer`或`context:property-placeholder`来读取配置文件。
Spring提供了一个非常方便的机制来加载和读取多个Properties文件,开发者可以根据实际情况选择合适的加载方式和配置文件格式,实现灵活的配置管理。 除了加载和读取Properties文件外,Spring还提供了many其他实用...