Я только разбираюсь со спрингом, поэтому не совсем понимаю как работает. Итак я сделал все как в туториале firstapp и все работает.
Добавил свой контроллер и он почти работает.
@Controller
@RequestMapping("/transactionlist")
public class TransactionController {
@Autowired
private PostRepository repository;
@RequestMapping(value = "", method = RequestMethod.GET)
public String listTransactions(Model model){
Sample sample = new Sample();
sample.setRepository();
model.addAttribute("posts", repository.findAll());
return "posts/transactionlist";
}
}
NPE вылетает в следующем простом джава классе, который я сделал для работы с SQLite базой:
@Component
public class Sample
{
@Autowired
private PostRepository repository; // вот здесь
public void setRepository() {
System.out.println(repository);
repository.save(new Post( "testpost" ));
}
}
У меня вопрос - почему не срабатывает автопривязка? Можно ли её (автопривязку) использовать в простых джава классах? Т.е. удалить аннотацию компонент из моего класса Sample? в моем случае оно не работает ни так, ни так. context.xml у меня нет, т.е. все на аннотациях, как и в исходном проекте.
Аннотация @Autowired
работает только в бинах. Поэтому Sample
должен быть помечен аннотацией @Component
(или аналогичной) и должен создаваться не вручную оператором new
, а контейнером Spring.
@Controller
@RequestMapping("/transactionlist")
public class TransactionController {
@Autowired
private PostRepository repository;
@Autowired
private Sample sample;
@RequestMapping(value = "", method = RequestMethod.GET)
public String listTransactions(Model model){
sample.setRepository();
model.addAttribute("posts", repository.findAll());
return "posts/transactionlist";
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Доброго времени сутокПрошу объяснить, что я сделал не так и как это исправить
Необходимо создать приложение, окно которого двигалось бы по экрану
как из BufferedImage - перевести картинку в пиксели?
Собственно проблема следующаяЕсть активность которая сначала загружает первый фрагмент: