我想在应用程序的服务层中检索文件application.properties中的属性值,setVersion的值为null
version=5.4.3
以及用于恢复版本的功能
@Override
public ProductDto getVersionApp() {
ProductDto dto = new ProductDto();
Properties prop = new Properties();
try {
prop.load(new FileInputStream("/concerto-rest-api/src/main/resources/application.properties"));
dto.setVersion(prop.getProperty("version"));
LOG.info("version ",prop.getProperty("version"));
} catch (IOException ex) {}
return dto;
}
答案 0 :(得分:0)
如果您使用的是spring-boot框架,则有几种方法可以获取该属性。
第一
@SpringBootApplication
public class SpringBoot01Application {
public static void main(String[] args) {
ConfigurableApplicationContext context=SpringApplication.run(SpringBoot01Application.class, args);
String str1=context.getEnvironment().getProperty("version");
System.out.println(str1);
}
}
第二:
@Component
public class Student {
@Autowired
private Environment env;
public void speak() {
System.out.println("=========>" + env.getProperty("version"));
}
}
第三:
@Component
@PropertySource("classpath:jdbc.properties")//if is application.properties,then you don't need to write @PropertyScource("application.properties")
public class Jdbc {
@Value("${jdbc.user}")
private String user;
@Value("${jdbc.password}")
private String password;
public void speack(){
System.out.println("username:"+user+"------"+"password:"+password);
}
}
答案 1 :(得分:0)
您可以在服务中使用${__P(param1)}
,前提是您的服务是一个Spring bean。