yinch516 2009-04-13 19:16
浏览 231
已采纳

【请教】关于spring框架中JDBC事务管理的一个问题

我有一个接口类及其实现类。
他们的功能是实现“组信息”及“其与组员的关联关系”的存储。
代码示意如下:
[code="java"]
public class GroupServiceImpl implements GroupService
{
/**
* 单例模式
*/
private static GroupService instance = new GroupServiceImpl();

/**
 * 私有化的构造函数
 */
private GroupServiceImpl()
{       
}

/**
 * 获取GroupServiceImpl的一个实例
 */
public static GroupService getInstance()
{
    return instance;
}

/**
 * 保存组信息(包括组与组员的关联关系)
 */
public void saveGroup(Group group)
{
    ……

    // 保存组信息
    dao.saveGroup(group);

    // 保存关联关系  (group中有成员变量List保存管理关系)
    dao.saveAssociate(group);

    ……
}

}
[/code]

为了保证事务一致,在配置文件中做了如下配置:
[code="java"]
pointcut="execution(* com.ych516.test..*Service.*(..))"
advice-ref="txAdvice" />

[/code]

在执行时,spring会报错,告诉我缺少有效的构造函数。
但是为了保持单例模式的原因,我不能把构造函数改为public型的。
请问,这个问题如何解决?

最好不是采用编程式的事务管理,因为不想代码与框架耦合太紧。
最好仍然是声明的方式,多谢各位~:)

  • 写回答

3条回答 默认 最新

  • iteye_5418 2009-04-14 00:34
    关注

    既然使用spring来管理bean,那么再在GroupServiceImpl 里加这个getInstance()这个方法就没有什么必要了。再说spring管理bean时,默认就是单例的。

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

报告相同问题?

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题