Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用弹簧制作琴弦?_Java_Spring - Fatal编程技术网

Java 用弹簧制作琴弦?

Java 用弹簧制作琴弦?,java,spring,Java,Spring,我正在重新熟悉Spring,并以一种前所未有的方式看待依赖注入和IoC 如果我想构建一个字符串,比如一个文件名,并且我已经有了一个包含目录的Springbean,那么最好的附加文件名的方法是什么 自己编写一个bean来实现这一点似乎相当简单,但我认为Spring可能已经具备了通过其API实现这一点的能力。如果这是可能的,如何实现 为了好玩,这里是相当简单的bean的实现 public class MySimpleStringAppender { private final String

我正在重新熟悉Spring,并以一种前所未有的方式看待依赖注入和IoC

如果我想构建一个字符串,比如一个文件名,并且我已经有了一个包含目录的Springbean,那么最好的附加文件名的方法是什么

自己编写一个bean来实现这一点似乎相当简单,但我认为Spring可能已经具备了通过其API实现这一点的能力。如果这是可能的,如何实现

为了好玩,这里是相当简单的bean的实现

public class MySimpleStringAppender {

    private final StringBuffer myString = new StringBuffer();

    public MySimpleStringAppender(List<String> myStrings) {
        for (String string : myStrings) {
            myString.append(string);
        }
    }

    public String getMySimpleString() {
        return myString.toString();
    }

}
公共类MySimpleStringAppender{
private final StringBuffer myString=new StringBuffer();
公共MySimpleStringAppender(列出MyString){
for(字符串:myStrings){
追加(字符串);
}
}
公共字符串getMySimpleString(){
返回myString.toString();
}
}
并配置了

<bean id="filename" class="MySimpleStringAppender">
    <constructor-arg ref="filenameStrings"/>
</bean>

<util:list id="filenameStrings">
    <ref bean="directory"/>
    <value>filename.txt</value>
</util:list>

<bean id="directory" class="java.lang.String">
    <constructor-arg value="C:/myDirectory/"/>
</bean>

filename.txt

因此,虽然这不是很多工作或代码,但我认为会有一些可用的东西,因此我根本不需要编写它。

不,我从未见过这样的东西。您还可以通过将所有这些合并为一个来简化XML:

<bean id="filename" class="MySimpleStringAppender">
   <constructor-arg>
      <list>
         <value>C:/myDirectory</value>
         <value>filename.txt</value>
      </list>
   </constructor-arg> 
</bean>

C:/myDirectory
filename.txt
但您可能已经知道了。

可能会将“c:/myDirectory”定义为一个属性,并执行以下操作:

<bean id="filename" class="java.lang.String">
    <constructor-arg value="${dir}/filename.txt"/>
</bean>

它会工作吗?

(别忘了包括或添加到配置中)