关于spring的配置文件及事物回滚问题求教

yjavastudy 2011-04-11 04:08:31
初学spring,有几个问题弄不明白 ,请各位高手不惜赐教
关于后置环绕通知:
public void afterThrowing(Method m, Object[] args, Object target,
Throwable ex) {
SuperLogic sl = (SuperLogic)target;

try {
sl.getSqlMap().endTransaction();
System.out.println("endTransaction");// DEBUG

} catch (SQLException e) {
e.printStackTrace();
}
}
上述中printStackTrace()方法有什么作用,就是这个方法起到事物回滚的吗?
关于配置文件:
(1)ref 后面加local与bean是否有本质区别
<bean id="DAOBean" class="classes. DAOBean " >
<property name="sqlMap">
<ref local="sqlMap" />
</property>
</bean>

<bean id=" DAOBean " class=" classes. DAOBean " >
<property name="sqlMap">
<ref bean="sqlMap" />
</property>
</bean>
(2) list的用法,下面的bean可不可以将<list></list>去掉
下面三个bean的关系应该如何解释
<bean id="AppleDAO" class="org.springframework.aop.framework.ProxyFactoryBean" >
<property name="target">
<ref bean="AppleDAOBean" />
</property>
<property name="interceptorNames">
<list>
<value>loggingAdvisor</value>
</list>
</property>
</bean>
<bean id="loggingAdvisor"
class="org.springframework.aop.support.NameMatchMethodPointcutAdvisor" >
<property name="advice">
<ref local="loggingInterceptor" />
</property>
<property name="mappedNames">
<list>
<value>*select*</value>
<value>*insert*</value>
<value>*update*</value>
<value>*delete*</value>
</list>
</property>
</bean>

<bean id="loggingInterceptor" class="classes.LoggingInterceptor" />
写的很乱 请各位大侠看到什么有什么想说的都说上两句,新人万分感激
...全文
65 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
songhuidanoop 2011-04-11
  • 打赏
  • 举报
回复
sl.getSqlMap().endTransaction();
还没回滚呢,就结束事务啊
  • 打赏
  • 举报
回复
1st printStackTrace()只是用来打印出错信息的,事务是交给sqlMap.endTransaction()处理的,在end之前如果没有commit就会rollback

2nd local 表示在当前xml文件中验证beanid引用.如果在同一个文件中没有匹配的元素,就会出错;bean表示在整个spring的上下文中即所有的springxml文件中查找beanid引用进行注入

3rd 不可以去掉,因为interceptorNames本身是个集合,加入list,Spring会按照集合类的形式进行初始化

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧