Тема безопасности в современных реалиях крайне важна. Защите персональных данных уделяют много средств все передовые IT компании. В этой статье мы рассмотрим возможность ограничения доступа к веб приложению по средствам Spring Security. Подготовка Первым делом заходим на spring starter и
Spring Security + Spring MVC + Spring JPA + Vaadin. Часть 2.
Тема безопасности в современных реалиях крайне важна. Защите персональных данных уделяют много средств все передовые IT компании. Это вторая часть из цикла статей посвященных изучению взаимодействия технологий Spring и Vaadin. В первой части мы научились использовать фильтры Spring Security, добавлять
Vaadin. Google maps add-on
Краткий гайд по установке и использованнию google maps add-on. Для начало необходимо освоить азы шаманства. После того как подготовительный этап пройден, то остается лишь сделать последовательность простых маневров: 1. Создаем spring boot vaadin проект. 2. Далее делаем корректировку зависимостей согласно
Vaadin. Google maps add-on
Краткий гайд по установке и использованнию google maps add-on. Для начало необходимо освоить азы шаманства. После того как подготовительный этап пройден, то остается лишь сделать последовательность простых маневров: 1. Создаем spring boot vaadin проект. 2. Далее делаем корректировку зависимостей согласно
Vaadin 7.5 + Spring Boot + компилирование WidgetSet (Maven)
Внимание! В данной статье содержится зашкаливающее количество волшебства, а также отсутствует логика и здравый смысл. По окончанию прочтения данной статьи вам будет присвоен титул Великого Шамана. Добро пожаловать под кат, юный хобитс… Для начала создадим проект Spring Boot + Vaadin.
Vaadin. Обновление UI в потоке
Для того, чтобы форма UI обновлялась автоматически, нужно в init просписать интервал обновления UI.getCurrent().setPollInterval(500);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
@Theme("mytheme") @SuppressWarnings("serial") public class MyVaadinUI extends UI implements Runnable{ private ApplicationContext context; private MeasurementRepository measurementRepository; private VerticalLayout layout; @WebServlet(value = "/*", asyncSupported = true) @VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset = "ru.test.AppWidgetSet") public static class Servlet extends VaadinServlet { } @Override protected void init(VaadinRequest request) { context = new AnnotationConfigApplicationContext(Config.class); measurementRepository = context.getBean(MeasurementRepository.class); layout = new VerticalLayout(); layout.setMargin(true); setContent(layout); UI.getCurrent().setPollInterval(500); new Thread(this).start(); } @Override public void run() { while(true){ ArrayList<measurement> measurements = Lists.newArrayList(measurementRepository.findAll()); for (Measurement measurement : measurements) { layout.addComponent(new Label(measurement.toString())); } try { Thread.sleep(1000); } catch (final InterruptedException e) { e.printStackTrace(); } } } } |