【请教】关于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型的。
请问,这个问题如何解决?

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

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

你可以用另外一种创建bean的方法啊

factory-method="getInstance"
/>

把这个类配置为一个单例的bean