springmvc 中controller 中引用service后 controller都不能用了

控制器,
@Controller("BaobiaoControl")
@RequestMapping("admin/baobiao/member")
public class BaobiaoControl extends BaseController {
/*
@Resource(name = "baobiaoServiceImpl")
private BaobiaoService baobiaoService;
*/
@RequestMapping(value = "/list", method = RequestMethod.GET)
public String list(HttpServletRequest request) {
}

}

如上,若注释的代码,则该控制器正常使用,里面的其他方法(list)也可以调用。
若放开注释中的代码,则该控制器失效,请求报404.
可能是Service 以及Dao错误,初学者,不太会。 还望大神予以相助。下面是Service 以及Dao的具体实现。

1:报表service
public interface BaobiaoService extends BaseService<Member, Long> {
public List<Object[]> findUserPaymentList(Date beginDate, Date endDate,Integer count) ;
}
2:报表service实现
@Service("baobiaoServiceImpl")
public class BaobiaoServiceImpl extends BaseServiceImpl<Member, Long> implements
BaobiaoService {

@Resource(name = "BaobiaoDaoImpl")
private BaobiaoDao baobiaoDao;

@Resource(name = "BaobiaoDaoImpl")
public void setBaseDao(BaobiaoDao baobiaoDao) {
super.setBaseDao(baobiaoDao);
}

@Transactional(readOnly = true)
public List<Object[]> findUserPaymentList(Date beginDate, Date endDate,
Integer count) {
return baobiaoDao.findUserPaymentList(beginDate, endDate, count);
}
}

3:报表Dao
public interface BaobiaoDao extends BaseDao<Member, Long> {

List<Object[]> findUserPaymentList(Date beginDate, Date endDate, Integer count);
}

4:报表Dao实现
@Repository("baobiaoDaoImpl")
public class BaobiaoDaoImpl extends BaseDaoImpl<Member, Long> implements BaobiaoDao {
}

第1个回答  推荐于2016-11-23
你确定Spring配置文件中base-package扫描到了所有的文件:
<context:component-scan base-package=”文件扫描范围”>
还有,建议你在
@Repository("baobiaoDaoImpl")
@Service("baobiaoServiceImpl")
@Controller("BaobiaoControl")
每一个上面都加上@Scope("prototype"):
scope="prototype" 可以保证 当有请求的时候 都创建一个Action对象,即多例追问

    <context:component-scan base-package=”文件扫描范围”>
    配置的是根目录。

    @Scope("prototype"):加入后也试了,还是不行。

spring还有哪里需要配置吗?

本回答被提问者采纳
第2个回答  2013-08-21
@Resource(name = "baobiaoServiceImpl")
private BaobiaoService baobiaoService
改成:
@Resource(name = "baobiaoService")
private BaobiaoService baobiaoService追问

试了,不行。
您所说的改法应该是引入“baobiaoService”,可是
我是在BaobiaoServiceImpl.JAVA里面声明的@Service("baobiaoServiceImpl");

没有baobiaoService。应该不对吧?

追答

@Service("baobiaoServiceImpl"),你没有定义的话
@Service("BaseServiceImp"),用这个,这个肯定是已经定义的。你做了继承,但是要保证spring把对应父类或借口进行扫描

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网