4.1.2. Использование бинов клиентского уровня

Теперь давайте немного усложним задачу из предыдущего раздела. Допустим, требуется вызывать расчет из двух экранов: и из браузера, и из редактора. Чтобы не дублировать код, нужно извлечь код из контроллера и поместить в некоторое общедоступное место. Это может быть управляемый бин клиентского уровня.

Управляемый бин - это класс с аннотацией @Component. Он может быть инжектирован в другие бины и контроллеры экранов, или получен с помощью статического метода AppBeans.get(). Если класс бина реализует некоторый интерфейс, то к нему можно обращаться через этот интерфейс.

Имейте в виду, что для того чтобы бин был доступен для контроллеров экранов, он должен располагаться в одном из следующих модулей: global, gui или web вашего проекта. В случае global, бин будет также доступен на среднем слое.

См. кнопку Calculate discount на экранах браузера и редактора в демо-приложении, и реализацию:

using client beans 1