Рубрика «spring» - 11

По следам Spring Pet Clinic. Maven  Spring Context  Spring Test  Spring ORM  Spring Data JPA
Здравствуйте!
Spring MVC, согласно обзору инструментов и технологий Java за 2014 г. от RevbelLabs, является самым популярным веб фреймворком. Далее тот же обзор называет лидера ORM — Hibernate и лидера веб-контейнеров — Apache Tomcat. Добавим сюда самую используемую java script библиотеку jQuery, самый популярный css фреймворк Bootstrap, до сих пор самую популярную (несморя на наступление Gradle) инструмент сборки Maven, абсолютный лидер среди тестовый фреймворков JUnit и получим пример приложения на Spring от его создателей: Spring Pet Clinic (демо приложение). Кроме перечисленного, в этот достаточно несложный по функциональности проект влючены также Spring-Jdbc, Spring-ORM, Spring Data JPA, Hibernate Validator, SLF4J, Json Jackson, JSP, JSTL, WebJars, Dandelion DataTables, HSQLDB, Hamcrest, Mockito и десятки других зависимостей.
Читать полностью »

Как известно, в Spring нельзя сделать бины для перечисляемых типов без «костылей» — у этого типа «нет» конструктора.

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'demoEnum0' defined in file [...DemoEnum0.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ru.itbasis.demo.spring.enums.DemoEnum0]: No default constructor found; nested exception is java.lang.NoSuchMethodException: ru.itbasis.demo.spring.enums.DemoEnum0.<init>()

(коммит)

В данном посте я попробую обойти это ограничение.
Читать полностью »

Внесу и свой вклад в тренд темного программирования.
Многим из вас знакома дилемма: использовать ли DI в своем проекте или нет.
Поводы перехода на DI:

  • создание развитой системы авто-тестов
  • повторное использование кода в различном окружении, в том числе в различных проектах
  • использование 3rd-party библиотек, построенных на DI
  • изучение DI

Доводы не использовать DI:

  • усложнение понимания кода (поначалу)
  • необходимость конфигурирования контекста
  • изучение DI

Допустим, у нас есть большой рабочий проект, принято решение: переводить на DI. Разработчики чувствуют свой потенциал, уровень мидихлориан в крови зашкаливает.
Перевод legacy проекта на Dependency Injection. Путь Ситха
Путь тебя ждет тернистый и долгий, мой юный падаван.

Если проект большой и в нем много разработчиков, одним коммитом вряд ли удастся сделать такой рефакторинг. Поэтому мы используем несколько плохих практик, упростив переход, а затем от них избавимся.
Читать полностью »

JavaFX и Spring. Вместе веселей

В данной статье я хочу рассказать о своем опыте интеграции таких вещей как JavaFX и Spring. И заодно использовать базу данных Derby и Maven для сборки приложения.

Введение

JavaFX выглядит довольно удобной и привлекательной технологией для реализации десктопных решений на платформе Java. Начиная с версии Java SE 7 Update 6, JavaFX является частью реализации Oracle Java SE, т.е. никаких дополнительных установок на стороне пользователя не требуется.

Spring со своей стороны, дает удобные фишечки в виде IoC, управление транзакциями и т.д., которые не хочется реализовывать самому.

Читать полностью »

Введение

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

Читать полностью »

Недавно в процессе работы, я столкнулся с задачей управления шедулерами, в работающем приложении. У нас серверное приложение, и в конфигурационных файлах Spring мы указывали, какие задачи запускать по таймеру. Однако, далее появилась следующая задача — убирать из списка выполнения эти задачи, или же менять cron-таймер. При этом не тормозя приложение.
В процессе гугления, чтения, я нашел как это сделать. Всё оказалось гораздо проще, чем я думал. Но чтоб понять — пришлось немного почитать.
Вероятно эта статья будет полезна новичкам, но, возможно, и мастодонты почерпнут для себя что-то новое.
Читать полностью »

Решил внедрить АОП логирование на проект и не внедрил. Как и почему, собственно и хочу поделиться.

Я не буду описывать суть и принципы АОП, а опишу только те проблемы, с которыми я столкнулся, и решения которых заняло много времени.
У меня было в распоряжении Spring, WebLogic, google.com и проект, куда я хотел внедрить АОП логирование. Скажу сразу, до этого я никогда не работал с АОП.

Проблема № 1

Spring AOP – использует proxy-based подход.

Если у нас есть класс (СlassA) с методами (methodA, methodB), при этом methodB() вызывает methodA() и аспект (допустим after) который должен выполняться при вызове methodA():

Читать полностью »

Привет.

Это моя первая статья.Прошу сильно молотком не бить.

Сегодня, этим сообщением начнется мой цикл статей о фреймворках Spring.

Я не буду вдаваться в тонкости теории, здесь на хабре достаточно статей об этом. Предпочитаю практику.
Тем не менее, стоит напомнить, что работать со Spring Framework можно как с помощью xml-конфигурации, так и с помощью аннотаций. Также, ничего не мешает комбинировать оба подхода.
Лично я предпочитаю работать с аннотациями, чего и вам советую. Поэтому все примеры, которые я буду приводить, будут использовать аннотации.
Читать полностью »

Привет!

Традиционно каждую весну мы празднуем выпуском свежего обновления для IntelliJ IDEA с исправлениями и улучшениями юзабилити. Этот год не стал исключением! Мы рады сообщить, что IntelliJ IDEA 12.1 наконец доступна для скачивания.

Intellij IDEA 12.1 c поддержкой JavaFX 2

Как вы знаете, в конце прошлого года IntelliJ IDEA обзавелась поддержкой Java 8, Play Framework 2, дизайнером UI для Android, более чем в два раза ускоренным компилятором, новыми инструментами для работы с базами данных и, конечно же, темной цветовой темой Darcula. В IntelliJ IDEA 12.1 большая часть этих возможностей была улучшена с учетом тех замечаний, которые мы получили за это время, а также были исправлены многие найденные проблемы.
Читать полностью »

Перед тем как отправить наш REST-сервис в свободное плавание и сделать его общедоступным, нужно позаботиться об усилении безопасности и обеспечить работу через HTTPS. В качестве контейнера сервлетов мы используем Tomcat 7.

Порядок действия будет следующим:

  • сгенерировать ключ безопасности
  • добавить поддержку HTTS в Tomcat
  • добавить поддержку HTTS в SpringSecurity
  • протестировать (а как же без этого)

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js