ssm框架配置文件
ssm分为三层:
DispatcherServlet中央调度处理器和他的配置文件mvc界面层
spring管理的service和dao层
最后就是mybtis的持久层
首先使用@Transactional的先决条件是
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--因为事务必须关联数据库处理,所以要配置数据源-->
<property name="dataSource" ref="dataSource"></property>
</bean>
<!--2.添加事务的注解驱动-->
<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
配置数据源和注解驱动
然后直接在类或者方法上加上注解就行(这里不讲注解的参数使用)
@RequestMapping("/some.do")
@Transactional(propagation = Propagation.REQUIRED)
public ModelAndView add(Student student){
ModelAndView m=new ModelAndView();
int i = studentService.addStudent(student);
if (i>0){
m.addObject("data","插入成功");
m.setViewName("result");
System.out.println(1/0);
}else {
m.setViewName("result");
}
return m;
}
必须是要public公有方法才行,在类上添加表明整个类的public都使用
@Transactional使用在controller和service层
首先要明白有好几个配置文件,spring的配置文件里配置就只能写在它管理的service层里面
如果需要写在controller层,就必须要写在中央调度管理器的配置文件中。但是这个时候会有一个驱动的冲突(不知如何解决)