Spring 检索属性pom.xml的值
我想检索文件application.properties中某个属性的值。在我的应用程序的服务层中,setVersion的值为nullSpring 检索属性pom.xml的值,spring,spring-boot,Spring,Spring Boot,我想检索文件application.properties中某个属性的值。在我的应用程序的服务层中,setVersion的值为null version=5.4.3 以及恢复版本的功能 @Override public ProductDto getVersionApp() { ProductDto dto = new ProductDto(); Properties prop = new Properties(); try { prop.load(new F
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;
}
如果您使用的是spring引导框架,那么有几种方法可以获得该属性 第一名:
@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);
}
}
秒:
@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);
}
}
第三名:
@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);
}
}
您可以在您的服务中使用
@Value(“${version}”)
,前提是您的服务是Springbean。您正在尝试检索pom和xml或application.properties中的值集。你应该说清楚。对不起,我试图从文件application.properties中检索值编辑你的问题和主题。。无需读取文件即可获得值。您可以使用@Value
谢谢它帮助了我