1. Введение
В этом кратком руководстве мы рассмотрим использование хранимых процедур в Java Persistence API (JPA).
В этом руководстве мы собираемся создать простое приложение Spring, которое для тестирования использует базу данных в памяти .
Для стандартного профиля приложение будет иметь автономную конфигурацию базы данных MySQL, которая требует наличия установленного и работающего сервера MySQL с надлежащей настройкой пользователя и базы данных.
Чтобы упростить тестирование приложения, мы откажемся от дополнительной настройки, необходимой для MySQL, и вместо этого будем использовать базу данных H2
в памяти для запуска тестов JUnit.
В этом руководстве мы узнаем, как несколько раз читать тело из HttpServletRequest
с помощью Spring.
HttpServletRequest
— это интерфейс, который предоставляет метод getInputStream()
для чтения тела. По умолчанию данные из этого InputStream
можно прочитать только один раз .
Первое, что нам понадобится, это соответствующие зависимости spring-webmvc
и javax.servlet
:
Интерполяция сообщений — это процесс, используемый для создания сообщений об ошибках для ограничений проверки Java-бинов . Например, мы можем увидеть сообщения, предоставив нулевое
значение для поля, аннотированного аннотацией javax.validation.constraints.NotNull
.
В этом руководстве мы узнаем, как использовать интерполяцию сообщений Spring по умолчанию и как создать собственный механизм интерполяции.
Чтобы увидеть примеры других библиотек, предоставляющих ограничения помимо javax.validation
, взгляните на Hibernate Validator Specific Constraints . Мы также можем создать пользовательскую аннотацию Spring Validation .
Веб-приложения часто зависят от пользовательского ввода для выполнения нескольких вариантов их использования. В результате отправка формы является широко используемым механизмом для сбора и обработки данных для таких приложений.
В этом руководстве мы узнаем, как flash-атрибуты Spring могут помочь нам в безопасном и надежном рабочем процессе отправки форм.
Прежде чем мы сможем комфортно использовать flash-атрибуты, нам необходимо достичь приличного уровня понимания рабочего процесса отправки формы и нескольких ключевых связанных с ним концепций.
В нашей предыдущей статье мы увидели, как использовать Spring для написания и отправки текстовых электронных писем.
Но также можно использовать механизмы шаблонов Spring для написания красивых электронных писем в формате HTML с динамическим содержимым .
В этом уроке мы узнаем, как это сделать, используя самые известные из них: Thymeleaf и FreeMarker .
В этой статье мы сосредоточимся на различных реализациях адаптеров обработчиков, доступных в среде Spring.
HandlerAdapter — это
, по сути, интерфейс, который очень гибко облегчает обработку HTTP-запросов в Spring MVC.
Он используется вместе с HandlerMapping
, который сопоставляет метод с определенным URL-адресом.
Эта короткая статья посвящена распространенной ошибке — «Метод запроса не поддерживается — 405», — с которой сталкиваются разработчики, предоставляя свои API для определенных HTTP-команд с помощью Spring MVC.
Естественно, мы также обсудим распространенные причины этой ошибки.
Прежде чем перейти к общей проблеме, если вы только начинаете изучать Spring MVC, вот хорошая вводная статья , с которой можно начать.
В Spring MVC DispatcherServlet
действует как передний контроллер — получает все входящие HTTP-запросы и обрабатывает их.
Проще говоря, обработка происходит путем передачи запросов соответствующему компоненту с помощью сопоставлений обработчиков .
HandlerMapping
— это интерфейс, который определяет сопоставление между запросами и объектами обработчика . В то время как среда Spring MVC предоставляет некоторые готовые реализации, интерфейс может быть реализован разработчиками для обеспечения индивидуальной стратегии сопоставления.
В этой статье обсуждаются некоторые реализации, предоставляемые Spring MVC, а именно BeanNameUrlHandlerMapping
, SimpleUrlHandlerMapping
, ControllerClassNameHandlerMapping
, их конфигурация и различия между ними.
Отображение URL-адреса-обработчика-компонента
Весна 4.3. представил несколько очень крутых аннотаций, составленных на уровне методов, чтобы сгладить обработку @RequestMapping
в типичных проектах Spring MVC.
В этой статье мы узнаем, как использовать их эффективно.
Как правило, если мы хотим реализовать обработчик URL-адресов, используя традиционную аннотацию @RequestMapping
, это будет примерно так: