Originally posted by Tim Holloway: I don't think that these are part of JSF - they're part of the JSR-250 lifecycle spec.
Spring supports these annotations, I believe.
The JSF 1.2 spec requires support of these annotations in a Java EE 5 environment. That said Mojarra (the RI) supports these two annotations outside of an EE environment if the annotations are present in the classpath.
As to their explanation, it's pretty straight forward. Methods marked with the @PostConstruct annotation will be invoked after the bean has been created, any resources have been injected, and any managed properties set, but *before* the bean is actually pushed into scope.
Methods marked with @PreDestroy will be called before the bean has been removed from scope.