Как стать автором
Обновить

К2Тех заместил платформу IBM на шину собственной разработки для международного банка

Время на прочтение3 мин
Количество просмотров1.5K

ИТ-компания К2Тех заменила платформу IBM на интеграционную шину собственной разработки для российского представительства международного банка. Отечественное решение обеспечило гибкость лицензирования, а также повысило скорость обработки и проведения платежей. 

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии1

Сдача Spring Certified Professional (2V0-72.22) в 2024 году: Удаленно из России

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1K

Привет, недавно я сдал сертификацию по Spring Framework от Broadcom. В связи с уходом сертификационных центров из России процесс сдачи экзамена усложнился. В данной статье я расскажу про свой опыт подготовки и поделюсь способом сдачи экзамена удаленно из России.

Читать далее
Всего голосов 2: ↑2 и ↓0+4
Комментарии1

Spring: Ускоряем запись в базу данных с помощью XML

Время на прочтение5 мин
Количество просмотров4.8K
Всем привет!

В этой статье пойдет речь о том как ускорить запись большого объема информации в реляционную базу данных для приложений, написанных с использованием Spring Boot. При записи большого количества строк за раз Hibernate вставляет их по одному, что приводит к существенному ожиданию, если строк много. Рассмотрим кейс как это обойти.
Читать дальше →
Всего голосов 8: ↑2 и ↓6-2
Комментарии16

Как Spring Data Jdbc соединяет таблицы

Время на прочтение6 мин
Количество просмотров15K
В этом посте мы рассмотрим, как Spring Data Jdbc строит sql-запросы для извлечения связных сущностей.



Пост рассчитан на начинающих программистов и не содержит каких-то супер хитрых вещей.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Spring IoC Annotation-based configuration на примере JSF

Время на прочтение7 мин
Количество просмотров25K
По просьбам трудящихся пишу статью про Spring IoC. Я не настолько гуру в этом вопросе, впрочем могу кое-что поведать.
Читать дальше про Spring IoC Annotation-based configuration
Всего голосов 8: ↑7 и ↓1+6
Комментарии17

Интеграционные тесты с Maven, JUnit и Spring

Время на прочтение7 мин
Количество просмотров83K
Юнит тесты это штука хорошая, но, на мой взгляд, полагаться лишь на них нельзя. Иногда очень важно проверить как работают несколько классов, а иногда и слоёв приложения вместе.

У нас приложение активно использует Спринг, а значит и такие интеграционные тесты должны работать с контекстом спринга.

Часто подобные тесты могут занимать много времени, даже если использовать in-memory базу данных (я, кстати проверял почему — у нас много JPA entities с множеством свойств в каждом и инициализация Hibernate, имено она, занимает десятки секунд!)

Значит нам надо сделать так, чтобы по умолчанию эти тесты, в отличие от обычных юнит тестов, не исполнялись во время билда.

Так что план такой:
1. Пишем сервисы, разбитые на два слоя приложения
2. Соединим их Спрингом
3. Напишем тест пользуясь JUnit для взаимодействия этих сервисов (настоящих, без всяких mock)
4. Делаем так, чтобы этот тест не бежал по умолчанию во время билда
5. Profit!
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии15

Система безопасности Campus.ru

Время на прочтение7 мин
Количество просмотров2.4K
При разработке почти любого программного продукта рано или поздно перед разработчиками встает проблема ограничения доступа. Например, в веб-приложении некоторые страницы могут быть доступны только администраторам или только зарегистрированным пользователям. В проекте Campus.ru такое разграничение доступа обеспечивается библиотекой Spring Security.

Spring Security работает со статическими ролями, которые определяются через URI при каждом запросе со стороны HTTP-клиента. Но как быть с динамическими ролями, которые меняются в зависимости от отношений между текущим пользователем и запрашиваемым объектом (например, роль автора по отношении к статье)?
Читать дальше →
Всего голосов 30: ↑23 и ↓7+16
Комментарии20

Spring IoC Annotation-based configuration, часть 2

Время на прочтение4 мин
Количество просмотров44K
В предыдущей статье я рассказал об основных аннотациях Spring IoC, однако есть еще несколько интересных вещей, о которых хотелось бы поведать.
Для, тех, кто не в курсе, что такое Spring Framework предлагаю почитать вот эту статью.

Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Использование Spring в OSGi-контейнере

Время на прочтение14 мин
Количество просмотров47K

Вряд ли найдётся Java разработчик, который не знает что такое Spring Framework. Одними из базовых технологий данного фреймворка являются IoC контейнер и поддержка AOP. Эти технологии позволяют успешно разбивать архитектуру приложения на обособленные слои, как на уровне классов, так и на уровне компоновки объектов во время выполнения. Казалось бы, что приложение отлично структурировано на элементы/слои, но по своей сути оно остаётся монолитным. Монолитным во время выполнения (runtime)! Только в рамках данного фреймворка не существует универсальных решений этой проблемы. Чуть меньшее количество Java разработчиков слышало об OSGi. Это спецификация модульных систем для Java платформы. Использование конкретной реализации данной спецификации в качестве основы приложения позволяет сделать его модульным, как во время выполнения, так и на физическом уровне (уровне файлов). О синергии этих технологий и пойдёт речь в этой статье.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии16

ZK+Spring 3+Hibernate: две головы хорошо, а три лучше, быстрее, сильнее

Время на прочтение11 мин
Количество просмотров9.7K
Всем доброго времени суток. Вот решил поделиться тем, как можно объединить двух монстров Spring Framework и Hibernate с мощным j2ee фреймворком ZK. Для начала почему же именно ZK, а не GWT или вообще native jsp? Потому что (чисто субъективно) у ZK самая безболезненная интеграция с этими фреймворками, да и вообще проще я пока не встречал, что и вам попытаюсь доказать.
Мой пример будет прост, так как моя цель показать как эти все фреймворки заставить заработать, причем с наименьшей головной болью. В качестве базы данных возьмем Oracle. И напишем простое веб-приложение, которое будет отображать имена пользователей. Также, дабы показать мощь и простоту ZK, добавим немного функциональности, к примеру, удаление пользователей из системы и редактирование его имени.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии14

Open Source RIA на Spring Framework'e

Время на прочтение3 мин
Количество просмотров3.2K

RIA — Rich Internet Application.
Spring Framework — каркас приложения.
Open Source — открытый исходный код. Бери и пользуйся.
О том какое RIA приложение разработано, где можно его посмотреть и взять исходники под хабракатом.

Читать дальше →
Всего голосов 17: ↑13 и ↓4+9
Комментарии8

Внедрение Spring Security в связку ZK+Spring Framework+Hibernate: часть первая

Время на прочтение7 мин
Количество просмотров6K
Всем доброго времени суток. Как и обещал, попытаюсь осветить тему секьюрности в веб-приложении, написанном на ZK Framework. Почему часть первая? Потому что в данной статье я покажу вам наиболее быстрый и простой метод внедрения Spring Security с использованием в качестве страницы авторизации- jsp страницу; в последующей(их) статье(ях) будут описаны более сложные и интересные методы с использованием zul в качестве построения страницы авторизации.
Веб-приложение писать с нуля не будем, а за основу возьмем мое прошлое приложение, которое я описывал в этом топике.
Что нам понадобится:
Данный метод можно реализовывать тоже по-разному, либо хранить юзеров, их пароли и права в xml конфигурации Spring Security, либо хранить в базе данных. Так как наше приложение и так работает с базой Oracle, так чего бы и юзеров не хранить в базе. Как говорит нам документация спринга, при дефолтном развертывании Spring Security смотрит в базу на 2 таблицы (users и authorities). При групповой политики, требуется наличие еще и таких таблиц, как :groups, group_authorities, group_members (скрипты таблиц можно взять отсюда).
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии0

@Autowired для сервлетов в OSGi-контейнере

Время на прочтение4 мин
Количество просмотров3.3K
Вместо введения отправляю читателя к отличной статье Использование Spring в OSGi-контейнере которая и послужила отправной точкой для практического изучения.
Итак, к делу. Рассмотрим классический вариант — есть бизнес-логика приложения и она как-то
взаимодействует с внешним миром. Используем такую связку:
клиент <-> транспорт <-> приемник <-> сериализатор/десериализатор <-> метод бизнес логики.
Сериализатор напрашивается заменяемым модулем, например сериализация в JSON или сериализация в XML.
Про бизнес-логику далее можно забыть, и сосредоточиться на связке приемника и сериализатора.
В качестве приемника используем сервлет, а для сериализатора, для простоты, используем реализацию следующего интерфейса:
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Внедрение Spring Security в связку ZK+Spring Framework+Hibernate: часть вторая

Время на прочтение8 мин
Количество просмотров4.2K
Всем доброго времени суток. Данная статья является продолжением статьи про способы внедрения секьюрности в веб-приложение. За основу возьмем наше приложение, которое было описано и в предыдущем и в этом постах.
План работы:
  • добавим необходимые таблицы и определим для них маппинг-отображения;
  • изменим форму авторизации;
  • создадим класс, унаследованный от класса AbstractUserDetailsAuthenticationProvider, и реализуем в нем логику выполнения авторизации;

Читать дальше →
Всего голосов 5: ↑3 и ↓2+1
Комментарии0

Внедрение Spring Security в связку ZK+Spring Framework+Hibernate: часть третья

Время на прочтение3 мин
Количество просмотров3.1K
Всем доброго времени суток. Вот и подошла к концу серия статей (один и два) про внедрение Spring Security в веб-приложение, написанное на ZK. В прошлом посте мы возложили на себя механизм проверки на соответствие правильности логина и пароля, переопределив метод protected UserDetails retrieveUser, от унаследованного класса AbstractUserDetailsAuthenticationProvider.
Давайте пойдем другим путем. Возложим проверку на соответствие логин-пароль на один из важных интерфейсов системы Spring Security — на UserDetailsService, который выполняет загрузку пользовательских данных через метод loadUserByUsername.
Читать дальше →
Всего голосов 11: ↑4 и ↓7-3
Комментарии2

Выполнение кода по расписанию в Spring Framework

Время на прочтение2 мин
Количество просмотров28K
Тут приспичило мне периодически запускать некоторый код в небольшом проектике написанном на Spring Framework. Я уж было приготовился по старой памяти (еще со спринга 2.x) к долгому прикручиванию quartz-а и написании кучи конфигов на xml, как оказалось все значительно проще
Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии16

Как распилить монолит на сервисы и сохранить производительность In-memory кэшей без потери консистентности

Время на прочтение12 мин
Количество просмотров9.8K

Всем привет. Меня зовут Александр, я Java-разработчик в группе компаний Tinkoff.

В данной статье хочу поделиться опытом решения проблем, связанных с синхронизацией состояния кэшей в распределенных системах. Мы столкнулись с ними, разбивая наше монолитное приложение на микросервисы. Очевидно, что речь здесь пойдет о кэшировании данных на уровне JVM, поскольку с внешними кэшами проблемы синхронизации решаются вне контекста приложения.

В статье я расскажу про наш опыт перехода на сервис-ориентированную архитектуру, сопровождающуюся переездом в Kubernetes, и про решение сопутствующих проблем. Будет рассмотрен подход к организации системы распределенного кэширования In-Memory Data Grid (IMDG), его преимущества и недостатки, из-за которых мы решили написать собственное решение.

В статье рассматривается проект, бэкэнд которого написан на Java. Поэтому речь также пойдет про стандарты в области временного In-memory-кэширования. Обсудим спецификацию JSR-107, несостоявшуюся спецификацию JSR-347, а также особенности кэширования в Spring. Добро пожаловать под кат!
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии17

Что нового в Spring Boot 2.2?

Время на прочтение8 мин
Количество просмотров9.4K
Перевод статьи подготовлен специально для студентов курса «Разработчик на Spring Framework».




16 октября 2019 года был выпущен Spring Boot 2.2 !

В этом посте вы узнаете о многих новых плюшках, которые предлагает вам версия 2.2.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+20
Комментарии4

Пишем простое веб-приложение используя Spring MVC, Spring Data JPA и Hibernate

Время на прочтение16 мин
Количество просмотров79K
Привет, Хабр! Представляю Вашему вниманию перевод руководства «Spring MVC + Spring Data JPA + Hibernate — CRUD Example» автора Nam Ha Minh.

В этом руководстве по Java Spring вы узнаете, как настроить Spring MVC приложение для работы с Spring Data JPA, разработав простое веб-приложение, которое позволяет управлять информацией о клиентах.
Читать дальше →
Всего голосов 13: ↑6 и ↓7+4
Комментарии6

Что такое Spring Framework? От внедрения зависимостей до Web MVC

Время на прочтение41 мин
Количество просмотров497K


Вы можете использовать это руководство для различных целей:


  • Чтобы понять, что такое Spring Framework
  • Как работают ее основные фичи: такие как внедрение зависимостей или Web MVC
  • Это также исчерпывающий FAQ (Перечень часто задаваемых вопросов)

Примечание: Статья ~ 9000 слов, вероятно, не стоит читать ее на мобильном устройстве. Добавьте ее в закладки и вернитесь позже. И даже на компьютере ешь читай этого слона по одному кусочку за раз :-)


Содержание


  • Введение
  • Основы внедрения зависимостей
  • Контейнер Spring IOC / Dependency Injection
  • Spring AOP (Аспектно-ориентированное программирование) и прокси
  • Управление ресурсами Spring
  • Spring Web MVC
  • Дополнительные модули Spring Framework
  • Spring Framework: часто задаваемые вопросы
  • Заключение
Читать дальше →
Всего голосов 17: ↑14 и ↓3+17
Комментарии14
1
23 ...