hhlux 2009-03-30 09:33 采纳率: 100%
浏览 251
已采纳

SPRING的奇怪问题

框架是Spring2.5, struts2, ibatis,采用声明式事务,BEAN自动扫描。

[code="xml"]


[/code]

DAO和SERVICE参考的是SpringSide2,SERVICE继承范型DAO:
[code="java"]
//Spring Service Bean的标识.
@Service
//默认将类中的所有函数纳入事务管理.
@Transactional
public class UserManager extends EntityDao {

}
[/code]

然后问题来了。 UserManager继承自DAO,我在Action里调用UserManager里面的DAO的方法做CRUD,没有问题。但只要我在UserManager里增加自定义方法,如:

[code="java"]
//Spring Service Bean的标识.
@Service
//默认将类中的所有函数纳入事务管理.
@Transactional
public class UserManager extends EntityDao {
public void fun() {

}

}
[/code]

仅仅加一个任意的空方法后,在请求调用了UserManager的Action的时候,就出了这样的LOG,而且没有异常。

2009-03-30 17:55:48 [DEBUG]- Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@13e9853], property=struts]
2009-03-30 17:55:48 [DEBUG]- Entering nullPropertyValue [target=[com.opensymphony.xwork2.DefaultTextProvider@13e9853], property=struts]
2009-03-30 17:55:48 [DEBUG]- Creating an DefaultActionProxy for namespace /user and action name user

画面报了500错误

只要在SERVICE类里加入任意自定义方法,就会出这样的问题。太奇怪了。
[b]问题补充:[/b]
to iampurse,

SpringSide2里就是Serivce继承泛型DAO。我觉得这样的好处有两点:

1,把DAO方法当SERVICE方法用。因为很多场景里业务方法就是简单的CRUD,用DAO方法正合适,不用再到SERVICE里写一层方法了。

2,如果用注入,就要写很多个DAO类,用继承的话,就不用写DAO类了。减少了要维护的文件数量。

但这样做又有点耦合。

UserManager里加的方法就不能算成是DAO的方法了,应该当成是SERVICE的方法。
[b]问题补充:[/b]
呵呵.

把EntityDao配置成bean并加上 abstract看看

这句我有点不太明白.给个代码看一下吧.

展开全部

  • 写回答

2条回答 默认 最新

  • iampurse 2009-03-30 11:58
    关注

    我只是想说 你一个Service里头只对一个Entity做操作

    然后如果要加一个Dao操作,直接夹在service里头 - -。。

    好吧,不讨论设计上的问题。

    想看具体的设计的话,可以看我回答的另一个问题。

    http://www.iteye.com/problems/13072

    我觉得是不是你的service继承了Dao的问题
    把EntityDao配置成bean并加上 abstract看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 torch框架下的强化学习DQN训练奖励值浮动过低,希望指导如何调整
  • ¥35 西门子博图v16安装密钥提示CryptAcquireContext MS_DEF_PROV Error of containger opening
  • ¥15 mes系统扫码追溯功能
  • ¥40 selenium访问信用中国
  • ¥20 在搭建fabric网络过程中遇到“无法使用新的生命周期”的报错
  • ¥15 Python中关于代码运行报错的问题
  • ¥500 python 的API,有酬谢
  • ¥15 软件冲突问题,软件残留问题
  • ¥30 有没有人会写hLDA,有偿求写,我有一个文档,想通过hLDA得出这个文档的层次主题,有偿有偿!
  • ¥50 有没有人会写hLDA,有偿求写,我有一个文档,想通过hLDA得出这个文档的层次主题,有偿有偿!
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部