一.struts2和strut1当然有很大的差别,但这个不是我学习的重点strut2和spring整合比strut1简单很多
首先你要加载applicationContext,请照前一篇文章strus1+spring+hibernate
其次在action里面声明业务类,并加get和set方法,如下:
public class LoginAction implements Action {
private IUserInfoBusiness userBusi;
private String username;
private String password;
public IUserInfoBusiness getUserBusi() {
return userBusi;
}
public void setUserBusi(IUserInfoBusiness userBusi) {
this.userBusi = userBusi;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
Userinfo user = new Userinfo();
user.setUsername(getUsername());
user.setPassword(getPassword());
boolean isHave = userBusi.isHave(user);
if(isHave)
return this.SUCCESS;
else
return this.INPUT;
}
}
然后,在spring文件中声明如下bean
<bean id="userBusi" class="com.chuanqi.hibernate.business.UserInfoBusiness">
<property name="userDao" ref="userInfoDao"></property>
</bean>
注意一点:id为userBusi一定要和action声明的业务类名字一致.
最后,重要的一点:需要将struts-spring-plugin-XXX.jar放在lib目录下,因为spring插件负责创建Action实例,创建成功后,还需要将Action所需的业务逻辑组件注入给该Action.
当然还有其他方法,你可以在struts的配置文件把action的class 属性设为spring配置文件bean的id,让spring完成action的实例化.
其他和hibernate整合和strut1没有区别.
还应注意一点,在hibernate3.3的包中缺少一个包slf4j-nop-XXX.jar,下载地址http://www.slf4j.org/dist/slf4j-1.5.2.zip
大家做的时候就知道了