小编bla*_*nda的帖子

如何在文件系统上使用property-placeholder文件

我们曾经有办法从类路径上的文件加载属性:

<context:property-placeholder location="classpath:myConfigFile.properties" />
Run Code Online (Sandbox Code Playgroud)

它运作得很好.但是现在我们想要从不在类路径中的系统上的特定文件加载属性.我们希望能够动态加载文件,因此我们使用Java环境变量来填充它.我将在下面举一个简单的例子:

在Java中:

  System.setProperty("my.prop.file", "/path/to/myConfigFile.properties");
Run Code Online (Sandbox Code Playgroud)

在Spring XML中:

<context:property-placeholder location="${my.prop.file}" />
Run Code Online (Sandbox Code Playgroud)

我也是这样尝试过的,感谢Luciano的一个想法:

<context:property-placeholder properties-ref="prop" />

<util:properties id="prop" location="reso"/>

<bean id="reso" class="org.springframework.core.io.FileSystemResource">
    <constructor-arg index="0" value="${my.prop.file}" />
</bean>
Run Code Online (Sandbox Code Playgroud)

我尝试过的一切都失败了.无论我将my.prop.file设置为什么.最棒的热门歌曲包括:

<context:property-placeholder location="/path/to/myConfigFile.properties" />
(ClassNotFoundException: .path.to.myConfigFile.properties)

<context:property-placeholder location="file:/path/to/myConfigFile.properties" />
(ClassNotFoundException: file:.path.to.myConfigFile.properties)

<context:property-placeholder location="file:///path/to/myConfigFile.properties" />
(ClassNotFoundException: file:...path.to.myConfigFile.properties)
Run Code Online (Sandbox Code Playgroud)

如何使用属性占位符与文件系统上的位置而不是类路径?我们正在使用Spring 3.0.5.

事实证明,运行Java程序的脚本存在加载spring文件的问题.谢谢你的帮忙.我将要求删除此问题,因为原始代码毕竟有效.谢谢您的帮助.

java spring

16
推荐指数
2
解决办法
4万
查看次数

有关分隔符的Scanner.skip文档

根据javadocjava.util.Scanner.skip,这个方法:

跳过与指定模式匹配的输入,忽略分隔符.

但我对"忽略delimeters"这个短语的含义感到困惑,因为以下代码在Eclipse中使用Java 7引发异常:

import java.util.Scanner;

public class Example
{

   public static void main(String [] args)
   {
      Scanner sc = new Scanner("Hello World! Here 55");
      String piece = sc.next();

      sc.skip("World"); // Line A throws NoSuchElementException,  vs.
      sc.skip("\\sWorld"); // Line B works!
      sc.findInLine("World"); // Line C works!
   }
}
Run Code Online (Sandbox Code Playgroud)

跳过时似乎没有忽略分隔符,如线A所示.但是,即使其文档使用相同的"忽略分隔符"短语,但C行似乎也可以工作.我不明白他们在这种情况下"忽略分隔符"的概念还是这是一个真正的错误?我错过了什么?

java java.util.scanner

6
推荐指数
1
解决办法
364
查看次数

如何在Spring 3.0中将属性从一个bean注入另一个bean?

在Spring 3.0.2中,我试图将Bean A的属性注入另一个Bean B,但是Spring EL无效.

Bean A是用Java手动创建的.Bean B是通过XML创建的.

在这种情况下,豆A是马铃薯,豆B是婴儿(两者都包装在springinit中).

豆A(马铃薯):

public class Potato {
   String potatoType;

   public String getPotatoType() { return potatoType; }

   public void setPotatoType(String potatoType) { this.potatoType = potatoType; }

   @Override
   public String toString() {
       return "Potato{" + "potatoType=" + potatoType + '}';
   }
}
Run Code Online (Sandbox Code Playgroud)

豆B(宝贝):

public class Baby {

    private String name;
    private Potato potatoThing;

    public String getName() { return name; }

    public void setName(String name) { this.name = name; }

    public Potato …
Run Code Online (Sandbox Code Playgroud)

java spring

4
推荐指数
1
解决办法
3314
查看次数

标签 统计

java ×3

spring ×2

java.util.scanner ×1