为什么maven搭建ssm事务不回滚?

ssm往数据库增加数据时,手动加了1/0让代码报错,但还是加进去一条数据 没回滚是为什么?
@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private SysUserMapper mapper;
    @Override
    public boolean saveUsers(List<SysUser> users) {
        int flag = 0;
        for (SysUser user : users) {
            flag+=mapper.insertSelective(user);
            int a = 1/0;
        }
        return flag==users.size()?true:false;
    }
}

@Test
    public void Test(){
        List<SysUser> users = new ArrayList<SysUser>();
        for (int i = 14; i < 16; i++) {
            SysUser user = new SysUser();
            user.setLoginAccount("admin"+i);
            user.setLoginPwd("admin"+i);
            user.setRealName("管理"+i);
            user.setFlag(i%2);
            users.add(user);
        }
        boolean status = service.saveUsers(users);
        Assert.assertTrue(status);
    }

 <tx:advice id="tx" transaction-manager="transactionManager">
        <tx:attributes>
            <tx:method name="save*"   propagation="REQUIRED"/>
            <tx:method name="insert*" propagation="REQUIRED"/>
            <tx:method name="update*" propagation="REQUIRED"/>
            <tx:method name="delete*" propagation="REQUIRED"/>
            <tx:method name="select*" read-only="true"/>
            <tx:method name="query*" read-only="true"/>
        </tx:attributes>
    </tx:advice>
    <aop:config>
        <aop:pointcut id="p1" expression="execution(* com.ak.service..*.*.*(..))"/>
        <aop:advisor advice-ref="tx" pointcut-ref="p1"></aop:advisor>
    </aop:config>

又不是什么异常都给你回滚

<aop:pointcut id="p1" expression="execution(* com.ak.service..*.*(..))

网上搜到一个这种方法,试了下还是不行

    private DataSourceTransactionManager transactionManager;      //事务管理器
    @Override
    public boolean saveUsers(List<SysUser> users) {
        //以下是手动开启事务 发现怎么样都会自动提交,所以干脆用手动提交代码
        //1.获取事务定义
        DefaultTransactionDefinition def = new DefaultTransactionDefinition();
        //2.设置事务隔离级别,开启新事务
        def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
        //3.获得事务状态
        TransactionStatus status = transactionManager.getTransaction(def);