我有一个接口类及其实现类。
他们的功能是实现“组信息”及“其与组员的关联关系”的存储。
代码示意如下:
[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型的。
请问,这个问题如何解决?
最好不是采用编程式的事务管理,因为不想代码与框架耦合太紧。
最好仍然是声明的方式,多谢各位~:)