对于任何一个操作,例如对用户的操作,其中操作细分为登录和注册等,分别有dao、service和action,
编写
1. BaseDaoImpl<T>和BaseDaoI<T>,提供save、delete、update、saveOrUpdate、get、count和find,
SessionFactory由Spring通过读取配置文件spring-hibernate.xml注入。
其他继承BaseDaoImpl<T>和BaseDaoI<T>的子类和子接口,通过传入类型,调用父类方法
例如,
@Repository("userDao")//或用@Component("userDao"),不建议@Service("userDao"),因为该注解用于Service
public class UserDaoImpl extends BaseDaoImpl<User> implements BaseDaoI<User>{
// TODO
// User属于Page的form,Tuser属于Hibernate操作数据库的模型
}
2. Service层。无父类。例如,
@Service("userService")
public class UserServiceImpl implements UserServiceI {
private UserDaoI userDao;
@Autowired // 自动注入
public void setUserDao(UserDaoI userDao){
this.userDao = userDao;
}
}
3. 最终操作Action类。BaseAction,提供writeJSON的响应浏览器请求的方法。
其他继承BaseAction的子类可以使用BaseAction的方法。例如,
// @ParentPackage("basePackage") // 默认继承struts.xml文件的<package name="basePackage" extends="struts-default">
@Namespace("/demo") // 此步来到Struts2
@Action("userAction") // 提交表单URL: http://localhost:2816/sshe/demo/userAction!addUser.action
public class UserAction extends BaseAction implements DrivenModel<User>{
private UserServiceI userService;
private User user = new User();
@Override // 实现对前端提交表单的数据类型的转换
public User getModel(){
return user;
}
@Autowired
public void setUserService(UserServiceI userService){
this.userService = userService;
}
}
编写
1. BaseDaoImpl<T>和BaseDaoI<T>,提供save、delete、update、saveOrUpdate、get、count和find,
SessionFactory由Spring通过读取配置文件spring-hibernate.xml注入。
其他继承BaseDaoImpl<T>和BaseDaoI<T>的子类和子接口,通过传入类型,调用父类方法
例如,
@Repository("userDao")//或用@Component("userDao"),不建议@Service("userDao"),因为该注解用于Service
public class UserDaoImpl extends BaseDaoImpl<User> implements BaseDaoI<User>{
// TODO
// User属于Page的form,Tuser属于Hibernate操作数据库的模型
}
2. Service层。无父类。例如,
@Service("userService")
public class UserServiceImpl implements UserServiceI {
private UserDaoI userDao;
@Autowired // 自动注入
public void setUserDao(UserDaoI userDao){
this.userDao = userDao;
}
}
3. 最终操作Action类。BaseAction,提供writeJSON的响应浏览器请求的方法。
其他继承BaseAction的子类可以使用BaseAction的方法。例如,
// @ParentPackage("basePackage") // 默认继承struts.xml文件的<package name="basePackage" extends="struts-default">
@Namespace("/demo") // 此步来到Struts2
@Action("userAction") // 提交表单URL: http://localhost:2816/sshe/demo/userAction!addUser.action
public class UserAction extends BaseAction implements DrivenModel<User>{
private UserServiceI userService;
private User user = new User();
@Override // 实现对前端提交表单的数据类型的转换
public User getModel(){
return user;
}
@Autowired
public void setUserService(UserServiceI userService){
this.userService = userService;
}
}