Vaadin 8. Form. Field + Select item from dictionary.

Could you share some demo, give the advice to implement the following.

Suppose I have many large dictionaries (cities, streets etc.) and person:
Person (String name, int city_id, street_id)

I use spring and already have appropriate Repository interfaces, DataProviers and Grids with lazy-loading.

I’d like to implement the Form and place fields, so dictionary fields should be selected from appropriative dictionary.
Its better is use some design pattern (factory) to generate such Form, so adding new dictionary not involved too much boilerplate code.

Thank you.