JSF本身对于Bean的管理有依赖注入的功能,不过Spring的IOC容器能提供更多的功能,另一方面Spring还有AOP框架,在事务处理上也可提供协助
JSF和Spring结合,主要目的就是让Spring的Bean名称可以被JSF视<managed-bean-name>标签上的名称来使用,也就是说可以当JSF定义文件中根据名称要求Bean实例时,若JSF 在自己的Context中找不到名称,可以尝试到Spring的Context中去寻找
UserManager.java 模拟一个业务类
public class UserManager ... {
public String getChangedName(String name)...{
return "hello "+name;
}
}
User.java
public class User ... {
private String name;
private UserManager userManager;
public String getName() ...{
return name;
}
public void setName(String name) ...{
this.name = userManager.getChangedName(name);
}
public UserManager getUserManager() ...{
return userManager;
}
public void setUserManager(UserManager userManager) ...{
this.userManager = userManager;
}
}
JSF配置文件: