Spring

Материал из Home Wiki
Перейти к навигации Перейти к поиску

Общие

Модули

Что я использовал

  1. Inversion of Control-контейнер: конфигурирование компонентов приложений и управление жизненным циклом Java-объектов.
  2. Фреймворк доступа к данным: работает с системами управления реляционными базами данных на Java-платформе, используя JDBC- и ORM-средства и обеспечивая решения задач, которые повторяются в большом числе Java-based environments.
  3. Фреймворк управления транзакциями: координация различных API управления транзакциями и инструментарий настраиваемого управления транзакциями для объектов Java.
  4. Фреймворк MVC: каркас, основанный на HTTP и сервлетах, предоставляющий множество возможностей для расширения и настройки (customization).
  5. Фреймворк удалённого доступа: конфигурируемая передача Java-объектов через сеть в стиле RPC, поддерживающая RMI, CORBA,HTTP-based протоколы, включая web-сервисы (SOAP).
  6. Фреймворк аутентификации и авторизации: конфигурируемый инструментарий процессов аутентификации и авторизации, поддерживающий много популярных и ставших индустриальными стандартами протоколов, инструментов, практик через дочерний проект Spring Security (ранее известный как Acegi).
  7. Тестирование: каркас, поддерживающий классы для написания модульных и интеграционных тестов.

Что я не использовал

  1. Фреймворк аспектно-ориентированного программирования: работает с функциональностью, которая не может быть реализована возможностями объектно-ориентированного программирования на Java без потерь.
  2. Фреймворк удалённого управления: конфигурируемое представление и управление Java-объектами для локальной или удалённой конфигурации с помощью JMX.
  3. Фреймворк работы с сообщениями: конфигурируемая регистрация объектов-слушателей сообщений для прозрачной обработки сообщений из очереди сообщений с помощью JMS, улучшенная отправка сообщений по стандарту JMS API.

Data / Repository

Как сделать findByXXX, countByXXX: Формирование методов в репозитории

Лимит выдачи

JPA with Hibernate, p. 262, 11.2.1 Understanding database-level concurrency - графически описаны уровни изоляции транзакция и проблемы при выборе конкретного варианта.


Security

@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)

Securing methods with annotations

@Secured @EnableGlobalMethodSecurity(jsr250Enabled=true)

@RolesAllowed

Using expressions for method-level security

Аннотация Описание
@PreAuthorize Restricts access to a method before invocation based on the result of evaluating an expression
@PostAuthorize Allows a method to be invoked, but throws a security exception if the expression evaluates to false
@PostFilter Allows a method to be invoked, but filters the results of that method based on an expression
@PreFilter Allows a method to be invoked, but filters input prior to entering the method