spring - Java-jar文件的Spring属性文件配置

标签 spring properties placeholder

Java-Spring 我有基于模块的项目,我有 DAO 层的模块和业务层的模块,该模块依赖于 DAO 层,而 Web 层则依赖于 DAO 层和业务层。

我正在使用maven进行项目编译。每个组件的jar包都分组在web项目的lib文件夹下。

问题是我在 DAO jar 中有 spring 上下文文件和 .property 文件,以下是我的配置,但我 spring 无法加载属性我也尝试添加前缀 value="classpath:abc.properties 但它没用。

当我打开 DAO jar 时,spring 上下文和 .properties 文件都位于根目录下。

<bean id="applicationProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="abc.properties" />
  </bean>

<bean id="cmfModelDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
      <property name="url" value="${jdbc.ConnectionUrl}"/>
      <property name="username" value="${jdbc.Username}"/>
      <property name="password" value="${jdbc.Password}"/>
  </bean>

知道如何快速解决此问题吗?

最佳答案

我有一个使用 Spring 的多模块 Web 项目,使用以下代码:

<context:property-placeholder location="classpath:env/env.properties" />

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${env.datasource.driver}" />
    <property name="url" value="${env.datasource.url}" />
    <property name="username" value="${env.datasource.username}" />
    <property name="password" value="${env.datasource.password}" />
</bean>

不要忘记验证 xml 文件中的命名空间 url:

xmlns:context="http://www.springframework.org/schema/context";

文件夹 env 必须位于类路径中,以便 Spring 可以找到它。我的属性文件也在一个 jar 内,并且工作得很好。

关于spring - Java-jar文件的Spring属性文件配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12222203/

相关文章:

java - 在 Servlet 中构建 HTML 添加额外的引号

iOS >> prepareForSegue >> IBOutlet 更新不起作用?

c# list property Add 方法额外 Action

java - 监控java请求

java - 获取所有项目的映射方法返回一个空列表

ios - 如何实现占位符文本在 UITextField 中逐字符消失

input - Magento2 结帐表格 : How to display placeholder attribute value in fields?

jquery - 占位符在 IE9 中不起作用

java - 无法解析名称错误的 View Spring MVC 4 + Apache Tiles 3

css - 在 Firebug 上自动完成规则集的 CSS 属性名称?