В моем bean-компоненте Spring 3 есть свойство типа Resource , которое следует внедрить со ссылкой на файл в пути к классам. Я использую аннотацию @Value, как показано ниже, чтобы добиться этого.
public class TestBean
{
@Value("classpath:/abc/student/test.sql")
private Resource SqlFile;
...
}
Но свойство всегда имеет значение null. Я подтвердил, что файл sql был развернут в целевом каталоге maven (он находится в target / classes / abc / student / test.sql).
Ближайшими решениями, которые я мог найти в Google, были this и this , в которых подробно описан способ xml, тогда как я заинтересован в том, чтобы сделать это с помощью аннотаций.
Примите во внимание любые указания на то, что здесь может быть не так.
Спасибо,
Виджей
Если это будет жестко запрограммировано, просто
private Resource sqlFile = new ClassPathResource("/abc/student/test.sql");
В противном случае, то, что вы действительно ищете, это
@Value("${some.property}")
private Resource sqlFile;
, и я считаю, что при введении значение свойства, будет применен правильный PropertyEditor.
Если вы не хотите указывать свойство, то это должно сработать
@Value("${:classpath:json/inventory.json}")
Resource inventory;