看代码
package dali.pigfriend.common.interfaces;
/**
数据库信息管理业务接口。
数据库信息管理逻辑
@author Administrator * / public interface DateManageService { /*
初始化数据包类属性
@param datePack */ public void init(PageDatePack datePack);
/**
查找数据
@param datePack 查询参数封装在该对象中 */ public void search(PageDatePack datePack);
/**
保存数据修改
@param datePack */ public void save(PageDatePack datePack);
}
package dali.pigfriend.common.interfaces;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
@Service
public class BaseService implements DateManageService{
/**
dao类,与数据库交互的dao类 */ @Autowired @Qualifier("baseDao") private DateManageDao datManDao;
public DateManageDao getDatManDao() {
return datManDao;
}
public void setDatManDao(DateManageDao datManDao) {
this.datManDao = datManDao;
}
@Override
public void init(PageDatePack datePack) {
// TODO Auto-generated method stub
System.out.println("BaseService.init()");
}
@Override
public void search(PageDatePack datePack) {
// TODO Auto-generated method stub
}
@Override
public void save(PageDatePack datePack) {
// TODO Auto-generated method stub
}
}
package dali.pigfriend.backstage.base.action;
import org.springframework.beans.factory.annotation.Autowired;
import dali.pigfriend.backstage.base.service.MenuManageService;
import dali.pigfriend.backstage.base.service.TestService;
import dali.pigfriend.common.interfaces.*;
public class MenuManageAction extends BaseAction{
/**
*
*/
@Autowired
public MenuManageAction(MenuManageService menuManageService){
System.out.println("构造MenuManageAction类++++++++++");
this.setDatManSer(menuManageService);
}
private static final long serialVersionUID = 1L;
@Autowired
private TestService testService;
@Override
public String managePage() {
// TODO Auto-generated method stub
this.testService.init();
//搞不懂的是下面这行代码,就是它为嘛不调用DateManageService子类的init方法,而是调用父类BaseService的init方法
this.getDatManSer().init(super.getDatePack());
return RESULT_MANAGE_PAGE;
}
}
package dali.pigfriend.backstage.base.service;
import org.springframework.stereotype.Service;
import dali.pigfriend.backstage.core.*;
@Service
public class MenuManageService extends BaseService{
public MenuManageService(){
System.out.println("创建MenuManageService实例!"+hashCode());
}
@Override
public void init(PageDatePack datePack) {
// TODO Auto-generated method stub
System.out.println("MenuManageService init function");
}
}
通过浏览器请求调用MenuManageAction动作类的managePage。
收起