Аннотация @ Value используется для вставки значений свойств в переменные, обычно в строки или простые примитивные значения. Вы можете найти больше информации здесь .
Если вы хотите загрузить файл ресурса, используйте ResourceLoader , например:
@SpringBootApplication
public class ExampleApplication implements CommandLineRunner {
@Autowired
private ResourceLoader resourceLoader;
@Autowired
private CountWords countWords;
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("Count words : " + countWords.getWordsCount(resourceLoader.getResource("classpath:file.txt")));
}
}
Другое решение, вы можете использовать @ Value , например:
@SpringBootApplication
public class ExampleApplication implements CommandLineRunner {
@Value("classpath:file.txt")
private Resource res;
@Autowired
private CountWords countWords;
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
System.out.println("Count words : " + countWords.getWordsCount(res));
}
}