JSF is a server side technology, just do the proper mapping for the faces servlet against the xhtml files. The end user then won't be able to see the source content of any xhtml file, cause all his requests against .xhtml sources will be driven through the faces servlet and thus converted to plain HTML-CSS-javascript combination.
If JSF is your view layer framework (being it the only servlet-mapping declared) no end user will be able to access your service methods, at least not without skipping JSF itself. It will take care of security and basic request validation for you.
Anyway, I don't recommend you accessing Spring beans through xhtml. Just use a managed bean for that, for architectural matters. If you have a look at the Integrating with other web frameworks part of the documentation, you'll find how to grab a Spring bean from a JSF managed bean using the FacesContextUtils
class.