Вообще по-хорошему добавить еще слой сервисов, но для простоты примера не стал.
public interface VideoRepository extends CrudRepository<Video, Integer> {
}
@Controller
public class HomeController {
@Autowired
private final VideoRepository videoRepository;
@GetMapping("/tutorials")
public String tutorials(Model model) {
model.add("videos", videoRepository.findAll());
return "tutorials";
}
}
<div class="video-container">
<div class="video-item" th:each="video: ${videos}">
<iframe th:src="${video.url}"
frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
<h3 th:text="${video.title}"></h3>
</div>
</div>