You can bind
JSF managed beans and Spring beans by adding the variable-resolved to your faces-config.xml file:
This is a one-way connection, however. It lets Spring beans be injected into JSF beans, but not the other way around. In practice, that's usually OK, since Spring beans are usually things like data services and other infrastructure-supporting objects whose scope is as wide or wider than the target JSF beans.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.