The Vaadin Spring and Vaadin Spring Boot add-ons have now entered the beta phase.
There have been lots of questions about the best way of using Spring and Vaadin together. You in the community have made a couple of really nice integrations, but there haven't been any officially supported ways of using those two popular technologies together. Not until now.
The Vaadin Spring add-on provides basic integration with Spring by making your application entry point, i.e. your UI class, a bean managed by Spring. This is supported by a scope for binding beans to the current UI instance, thus making it possible to autowire your Spring beans into any part of your UI logic. This is further supported by similar injection and scoping for Views used through Vaadin's Navigator and a dedicated scope for VaadinSession.
In addition to basic Spring scope support, there is a separate add-on available for Spring Boot applications. When using Spring Boot, there is also support for automatically registering an appropriately configured VaadinServlet through a separate Vaadin Spring Boot add-on that supplements the basic integration.
It has been really easy to implement all this functionality since it's all based on the groundwork done through the vaadin4spring community project. We have coordinated with Petter Holmström, who is the main author of that project, to extract the core functionality while leaving the door open for plugging in additional functionality based on the needs of your specific projects. Petter plans on refactoring his project to be a set of add-ons depending on Vaadin Spring after it has reached stable maturity. While the overall architecture is the same, we have adjusted the API to be more in line with similar concepts in the Vaadin CDI add-on.
So now with the beta version available, we are hoping that you could try it out and give us feedback. The easiest way to get started is to follow the tutorial based on Spring Boot. If you already have an existing Spring project and just want to add some Vaadin Spring functionality to it, you can also use the base package without Spring Boot.