Когда мы программируем, отлаживаем код, ищем пресловутый «баг», зачастую возникает ситуация, когда приходится перезапускать сервер приложений, что бы увидеть наши изменения. Это приводит к тому, что нам приходится выходить из «потока», разрушать наш хрупкий песочный замок нейронных связей. Отвлекаться от текущей задачи и ждать-ждать-ждать, когда на сервере приложений будут доступны наши изменения. Порой это так утомительно… Как было бы здорово, сделать «горячую» замену измененных классов и сразу увидеть результат.
Рубрика «spring» - 11
Практический опыт использования настоящего HotSwap
2017-04-05 в 7:53, admin, рубрики: dcevm, hotswap, idea, java, spring, ПрограммированиеОбзор IntelliJ IDEA 2017.1: Java 9, Kotlin 1.1, Spring, Gradle, JavaScript, Go и многое другое
2017-03-22 в 17:39, admin, рубрики: Go, intellij, intellij idea, java, java 8, java 9, Kotlin 1.1, scala, spring, Блог компании JetBrains, метки: Java 9Привет!
Спешу поделиться хорошей новостью. Работа над IntelliJ IDEA 2017.1 закончена, и новую версию IDE можно наконец скачать и попробовать. В этом обновлении исправлены многие важные баги а также появились улучшения для многих поддерживаемых языков, фреймворков и встроенных инструментов. Ниже краткий обзор наиболее важных изменений.
Java-конференция Joker 2016: больше, сильнее, интереснее
2016-10-23 в 20:41, admin, рубрики: azul, groovy, java, jetbrains, joker, jvm, kotlin, oracle, spring, Блог компании JUG.ru Group, конференцияКонференция Joker 2016, проходившая 14-15 октября 2016 года в Санкт-Петербурге, стала, возможно, самой большой русскоязычной Java-конференцией за всю историю. 2 дня, 52 доклада, 6 параллельных треков, более 40 спикеров, свыше 1000 участников.
«Как я провёл это лето»: видео с летних встреч JUG.ru
2016-09-09 в 13:00, admin, рубрики: hotspot, hotspot jvm, java, jit, JIT-компилятор, JUG, jug.ru, jvm, nashorn, postgresql, puzzlers, spring, spring framework, Блог компании JUG.ru Group, КомпиляторыВот и наступила осень. Кто-то возвращается в город с центнером яблок в багажнике, кто-то — c норвежским пивом прямиком с JavaZone, а мы подготовили для вас материал, который, надеемся, скоротает дождливые вечера. Мы расскажем о трёх летних встречах JUG.ru. Посему разработчики, вернувшись из отпусков, имеют замечательную возможность запастись чашкой горячего чая, завернуться в плед и посмотреть видео с наших митапов.
Итак, летом у нас было три встречи:
— Douglas Hawkins из Azul рассказал об особенностях работы JIT-компиляторов в HotSpot JVM;
— Alvaro Hernandez, разработчик ToroDB, рассказал о том, как Java работает с PostgreSQL;
— наконец, Евгений Борисов порадовал нас новой порцией загадок на тему Spring.
Spring-Jackson + @JsonView: фильтруем JSON
2016-08-09 в 7:13, admin, рубрики: jackson, java, json, spring, Spring MVC, Разработка веб-сайтовЗдравствуйте!
Недавно в проекте Spring столкнулся с задачей катомизации сериализации объекта User в JSON в зависимости от контроллера: для REST API контроллера нужно было возвращать хешированный пароль (поле user.password
), а для контроллера отображения на UI- нет. Можно решить задачу в «лоб», сделав нестолько TO (Data Transfer Object), но в Spring 4.2+/Jackson 2.6 появилась возможность использовать Jackson’s Serialization Views. Однако с статье есть подвох, и для невнимательных читателей вьюхи работают не так, как он ожидает. В результате мне пришлось немного покопаться в реализации Jackson, чтобы понять, как все это работает. Коротко об этом: Читать полностью »
Разрабатывая приложения используя IoC-контейнер Spring думаю каждый задумывался, а как же «правильнее и красивее» создать логгер. В данной публикации хочу привести несколько примеров решения данной задачи.
Решение 1
Получаем логгер напрямую через LoggerFactory:
@Component
public class MyBean {
private static final Logger log = LoggerFactory.getLogger("application");
...
}
Данное решение является классическим, безусловно работающим, но нарушает саму идеологию IoC, ведь нам хочется, что бы работу по созданию логгера выполнил сам контейнер.
Читать полностью »
Spring Boot — проблема с безопасностью исполняемых jar файлов запускаемых как init.d сервис
2016-01-15 в 15:23, admin, рубрики: java, security, spring, spring boot, метки: spring bootВ spring boot появилась интересная возможность собрать «исполняемый» jar файл, который также может быть init.d сервисом. То есть достаточно будет прописать символьную ссылку из /etc/init.d/myapp на jar-файл и через update-rc.d настроить автозапуск сервиса. Технически jar файл становится bash-скриптом в конце которого находятся бинарные данные.
Описание данной возможности: docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html
Изучая скрипт файл, я обнаружил некоторые проблемы с безопасностью.
Читать полностью »
Spring + Hibernate для новичков
2015-04-15 в 11:28, admin, рубрики: hibernate, java, mysql, orm, spring, sqlВместо дисклеймера
На Хабре уже есть множество статей на тему работы с Hibernate, однако, как мне показалось, все они довольно сложные для новичков. Эта статья направлена на разъяснение основ работы с ORM и будет полезна в первую очередь тем, кто только начинает разрабатывать собственные приложения и имеет мало опыта работы с базами данных в общем, и с инструментами, вроде Hibernate, в частности. Матерые разработчики вряд ли найдут в статье для себя что-то новенькое; всех остальных прошу под кат.
Читать полностью »
Динамическая компиляция Java-кода своими руками
2015-02-18 в 11:29, admin, рубрики: cuba, dynamic classloading, haulmont, java, spring, Блог компании Haulmont, разработкаВ этой статье я расскажу о нашей реализации hot deploy — быстрой доставки изменений Java-кода в работающее приложение.
Для начала немного истории. Мы уже несколько лет делаем корпоративные приложения на платформе CUBA. Они очень разные по размеру и функциональности, но все они похожи в одном — в них много пользовательского интерфейса.
В какой-то момент мы поняли, что разрабатывать пользовательский интерфейс, постоянно перезагружая сервер — крайне утомительно. Использование Hot Swap сильно ограничивает (нельзя добавлять и переименовывать поля, методы класса). Каждая перезагрузка сервера отнимала минимум 10 секунд времени, плюс необходимость повторного логина и перехода на тот экран, который ты разрабатываешь.
Пришлось задуматься о полноценном hot deploy. Под катом — наше решение проблемы с кодом и демо-приложением.
Читать полностью »
Spring — Hibernate: ассоциация один ко многим
2015-01-28 в 9:22, admin, рубрики: first steps, hibernate, java, spring, переводПродолжаем цикл статей — переводов по Spring и Hibernate, от krams.
Предыдущая статья:
«Spring MVC 3, Аннотации Hibernate, MySQL. Туториал по интеграции».
Введение.
В этом уроке мы познакомимся с использованием отношения один ко многим, используя аннотации Hibernate и Spring MVC 3. Мы будем использовать аннотоцию @OneToMany для указания отношений между нашими объектами. Мы не будем использовать каскадные типы или fetch-стратегии, вместо этого мы воспользуемся стандартными настройками @OneToMany.
Что такое ассоциация один-ко-многим?
Ассоциация один-ко-многим возникает тогда, когда каждой записи в таблице А, соответствует множество записей в таблице Б, но каждая запись в таблице Б имеет лишь одну соответствующую запись в таблице А.
Спецификация нашего приложения.
Приложение является простой CRUD системой управления списком записей. Каждая запись соответствует одному лицу, она содержит персональные данные и данные о кредитной карте. Каждое лицо может владеть несколькими кредитками. Так же мы добавим систему редактирования лиц и кредиток.
Ниже приведены скриншоты из будущего приложения: