Tag: 配置

使用属性文件而不是静态最终变量

我有很多带静态最终字段的类,用作默认值或配置。 创建全局配置文件的最佳方法是什么? 我应该将这些字段移动到单个静态类,使用属性文件还是什么? 编辑:我需要在java类和xhtml页面中使用这个值。 价值观不依赖于环境。 我可以编译项目来设置新值 – 没问题。

在jar子中包含属性/配置文件是不好的做法吗?

例如: MyApp是一个Web应用程序,其中包含一个属性文件(server.properties),用于描述应用程序的配置数据(例如服务器名称)。 在开发阶段,server.properties位于其自己的IDE项目文件夹(它的逻辑位置)中。 现在是时候部署MyApp了。 IDE使得类文件以及支持配置文件变得非常简单。 现在我们将Jar放入适当的Web容器中,然后我们就去…. 一周后…… MyApp使用的服务器配置数据需要更改。 哪个更有意义? A.在IDE域中修改server.properties文件并生成一个全新的jar文件。 重新部署。 (这意味着弹出应用程序以进行简单的配置更改)。 B.破解已部署的Jar并修改server.properties文件? (如果缓存了server.properties,可能必须在MyApp中调用刷新函数…但不应该要求完整的应用程序反弹。还需要记住修改源server.properties以便将来的部署不会还原server.properties到旧的服务器名称)。 C.首先将server.properties置于jar文件的外部。 与B的过程非常相似,将配置数据保存在jar外部的细微差别(在开发和生产部署之间引入不同的路径) D.其他: 谢谢!

使用基于Java的配置在服务器模式下设置H2

我有spring XML,使我能够使用以下配置在服务器模式下启动H2数据库: create-drop true 我想转换为基于java的配置。 我在这里似乎是一个post: 使用Spring启动和设置内存数据库,询问一些相同的问题,我查看了http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/ html / jdbc.html#jdbc-embedded-database-support for Embedded Database但它没有说明如何将H2模式设置为服务器模式。 它只在“mem”模式下为我启动服务器。 我有以下代码: EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); builder.setType(EmbeddedDatabaseType.H2); builder.setName(DATABASE_NAME); builder.addScript(H2_SCHEMA); builder.addScript(H2_TEST); return builder.build(); 也许使用EmbeddedDatabaseBuilder(ResourceLoader)可能会起作用。 有人有一些示例代码吗?

使用@PropertySource进行Spring属性配置

在下面的Spring配置类中,我通过@PropertySource加载app.properties文件,并使用属性文件中的配置构建2个不同的DBCP数据源。 虽然一切正常,但我不喜欢为带有注释的每个配置属性声明一个变量以构造数据源。 我试着像这样自动assembly环境类 @Autowired Environment env; 但是,当env.getProperty()返回null时。 有一个更好的方法吗? @Configuration @PropertySource(“classpath:app.properties”) public class DAOConfig { @Value( “${txn.dbhost}” ) private String txnDbHost; @Value( “${txn.dbport}” ) private Integer txnDbPort; @Value( “${txn.dbservice}” ) private String txnDbService; @Value( “${txn.dbuser}” ) private String txnDbUser; @Value( “${txn.dbpwd}” ) private String txnDbPwd; @Value( “${rpt.dbhost}” ) private String rptDbHost; @Value( “${rpt.dbport}” ) private Integer […]

在Tomcat中放置logback.xml的位置?

当我们希望将logback.xml文件配置为可配置时,将logback.xml文件放在何处? 以及如何使内部运行的Java应用程序可以访问它?

Guice和一般应用程序配置

对于用Java编写的监控软件,我考虑使用Google Guice作为DI提供商。 项目需要从外部资源(文件或数据库)加载其配置。 该应用程序旨在以独立模式或servlet容器运行。 目前,配置不包含依赖项注入的绑定或参数,只有一些全局应用程序设置(JDBC连接定义和关联的数据库管理/监视对象)。 我看到两个选择: 使用另一个库,例如Apache Commons Configuration ,它支持文件和JDBC配置源(以及许多其他) 要么 使用Guice -xml-config之类的Guice基于文件的插件来存储应用程序选项(如果有必要,这将允许稍后配置DI部分)。 您是否建议将Guice用于这两项任务,或者将一般应用程序配置与dependency injection分开? 您认为哪些优点和缺点最重要?

应用背景。 这是什么?

我的同事经常使用“应用程序上下文”这个词。 在许多文章中,这种搭配也经常使用。 我目前的理解:应用程序上下文是单个xml文件。 但我明白,如果我是对的,人们不会使用“应用程序上下文”而不是配置xml文件。 你能帮我解决这个问题吗?

如何重新执行Log4j“默认初始化过程”?

在运行时,我经常创建/修改log4j Loggers,Appenders,Levels,Layouts以及需要将所有内容重置为默认值的时间。 Log4j系统具有明确定义的默认初始化过程 ,该过程在将log4j类加载到内存时执行。 有没有办法在以后的运行时以编程方式重新执行整个过程? 我在log4j文档中找到了几个resetConfiguration()方法,但不确定它们中的任何一个是否会执行默认初始化过程 : BasicConfigurator.resetConfiguration(); Hierarchy.resetConfiguration(); LogManager.resetConfiguration(); 关于重置log4j配置的任何其他建议都欢迎! 谢谢。

用于localhost,开发和生产的Spring数据源配置

我试图弄清楚我的Spring应用程序如何确定它的部署位置并加载适当的数据源。 我们有3个环境……我的本地,开发服务器和生产服务器。 到目前为止,我有3个属性文件调用 localhost.datasource.properties development.datasource.properties production.datasource.properties 我让他们像这样: classpath:/resources/properties/production.datasource.properties classpath:/resources/properties/development.datasource.properties classpath:/resources/properties/localhost.datasource.properties 当我在我的localhost机器上时,这很好用。 如果我将war文件部署到开发中,它仍然在读取localhost属性,因为它是列表中的最后一个,我收到错误。 实现这个的最佳方法是什么? 谢谢

intellij是否支持启动配置中的变量?

在eclipse中,我可以在启动配置中包含vm args或program args中的以下内容: -Dsome.system.property=${string.prompt:explanation:default} 当你运行它时,你会在一个小弹出窗口中看到一个字符串提示,显示解释文本并准备好默认值,它允许你轻松地注入属性并且每次运行应用程序。 我经常使用它来指定我是否需要应用程序的开发或测试实例。 您还可以执行${env_var:ENVIRONMENT_VARIABLE_NAME}来获取特定于计算机的配置,这对于在开发人员之间共享这些启动配置非常有用。 IntelliJ Idea支持这个或类似的东西吗? 是否有提供此function的插件?