##JSF 2 + Spring 3 integration
###There are some types of integrate saint Spring to JSF:
- JSF XML faces-config.xml - shit
- Spring annotations
- JSR injection - wtf
###First of all add dependencies to pom.xml: pom.xml
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.2.RELEASE</version>
</dependency>
###Then add some lines to faces-config.xml: faces-config.xml
<application>
<el-resolver>
org.springframework.web.jsf.el.SpringBeanFacesELResolver
</el-resolver>
</application>
###And get saint applicationContext.xml to WEB-INF folder: applicationContext.xml
<context:component-scan base-package="com.itibo"/>
###Add listener to web.xml: web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
###Spring annotation: UserBo.java
@Service
public class UserBoImpl implements UserBo {
@Override
public String getMessage() {
return "JSF Spring Integration";
}
}
@Component
@ManagedBean(name = "userBean")
@SessionScoped
public class UserBean {
@Autowired
UserBo userBo;
public void setUserBo(UserBo userBo) {
this.userBo = userBo;
}
public String printMsgFromSpring() {
return userBo.getMessage();
}
}