我正在尝试使用注释加载属性:
@PropertySource({"classpath:application.properties"})
和
@Value("${my.property}")
String myProperty;
因此,myProperty始终为空
它正在使用时:
BatchConfiguration.class.getClassLoader().getResourceAsStream("application.properties");
这是我的Batch conf类签名:
@Configuration
@ComponentScan
@EnableBatchProcessing
@PropertySource({"classpath:application.properties"})
public class BatchConfiguration {
@Value("${db.url}")
private String url;
...
}
和Application.java:
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
我还尝试使用以下方式加载它:
@Autowired
public static Environment env;
但是env也为空。
答案 0 :(得分:0)
在运行Spring Boot应用程序时传递以下JVM参数
--spring.config.location=properties file path
答案 1 :(得分:-1)
在您的@PropertySource({“ classpath:application.properties”})中删除{} 应该是
@PropertySource("classpath:application.properties")
或
@PropertySource(value="classpath:application.properties")