在我的存储库中,存在具有此var的文件属性:
wizard.start.scriptNameAndroid=install-android.bat
这是我的文件 spring-businss.xml 的一部分:
<bean id="wizardService" class="business.services.WizardServiceImpl">
<property name="nameFileAndroid" value="${wizard.start.scriptNameAndroid}"/>
</bean>
这是我的Java类
public class WizardServiceImpl implements WizardService {
private static String nameFileAndroid="";
[...]
public String getNameFileAndroid() {
return nameFileAndroid;
}
public void setNameFileAndroid(String nameFileAndroid) {
this.nameFileAndroid = nameFileAndroid;
}
}
当我使用变量 nameFileAndroid 时,程序始终使用我在类中设置的值。 如何优先处理文件文件属性?
答案 0 :(得分:0)
为什么不使用以下方式注入它:
@Value("${wizard.start.scriptNameAndroid}")
private static String nameFileAndroid;
它将从您的属性文件中获取值。
答案 1 :(得分:0)
如果该变量在.properties文件中,您可以像这样引用它的值:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
@ComponentScan(basePackages = { "business.services.*" })
@PropertySource("classpath:file.properties")
public class WizardServiceImpl implements WizardService {
@Autowired
private Environment enviro;
private static String nameFileAndroid = enviro.getProperty("wizard.start.scriptNameAndroid");
}
Another way
@ComponentScan(basePackages = { "business.services.*" })
@PropertySource("classpath:file.properties")
public class WizardServiceImpl implements WizardService {
@Value("${wizard.start.scriptNameAndroid}")
private static String nameFileAndroid;
//Register bean to enable ${} value wiring
@Bean
public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() {
return new PropertySourcesPlaceholderConfigurer();
}
}
或者如果您仍然喜欢XML方式:
<context:property-placeholder location="resources/file.properties" />
希望我帮助过。 :)