长安网站设计零元创业加盟网
长安网站设计,零元创业加盟网,明年做啥网站能致富,电商网站的模式1.spring开启事务支持
事务在逻辑上是一组操作#xff0c;要么执行#xff0c;要不都不执行。主要是针对数据库而言的#xff0c;比如说 MySQL。
业务场景eg:
public void savePosts(PostsParam postsParam) {// 保存文章save(posts);// 处理标签insertOrUpdateTag(posts…1.spring开启事务支持
事务在逻辑上是一组操作要么执行要不都不执行。主要是针对数据库而言的比如说 MySQL。
业务场景eg:
public void savePosts(PostsParam postsParam) {// 保存文章save(posts);// 处理标签insertOrUpdateTag(postsParam, posts);
}Spring 支持两种事务方式分别是编程式事务和声明式事务后者最常见通常情况下只需要一个 Transactional 就搞定了代码侵入性降到了最低如下
Transactional
public void savePosts(PostsParam postsParam) {// 保存文章save(posts);// 处理标签insertOrUpdateTag(postsParam, posts);
}(编程式事务是指将事务管理代码嵌入嵌入到业务代码中来控制事务的提交和回滚。)比如说使用 TransactionTemplate 来管理事务
Autowired
private TransactionTemplate transactionTemplate;
public void testTransaction() {transactionTemplate.execute(new TransactionCallbackWithoutResult() {Overrideprotected void doInTransactionWithoutResult(TransactionStatus transactionStatus) {try {// .... 业务代码} catch (Exception e){//回滚transactionStatus.setRollbackOnly();}}});
}在编程式事务中必须在每个业务操作中包含额外的事务管理代码就导致代码看起来非常的臃肿但对理解 Spring 的事务管理模型非常有帮助。
声明式事务
声明式事务将事务管理代码从业务方法中抽离了出来以声明式的方式来实现事务管理对于开发者来说声明式事务显然比编程式事务更易用、更好用。
当然了要想实现事务管理和业务代码的抽离就必须得用到 Spring 当中最关键最核心的技术之一AOP其本质是对方法前后进行拦截然后在目标方法开始之前创建或者加入一个事务执行完目标方法之后根据执行的情况提交或者回滚。
编程式事务比声明式事务控制的颗粒度更细。
声明式事务有许多属性例如事物的传播行为、隔离级别、超时时间等等都支持自定义Transactional(xxxxxxxxxx)
2.springboot中的事务
前面的Spring中既支持编程式事务也支持声明式事务(Transactional)在springboot中就直接用Transactional声明式事务吧。
Transactional的作用范围
类上表明类中所有 public 方法都启用事务方法上最常用的一种接口上不推荐使用
Transactional注解提供了许多属性供我们自定义但大多数情况下用默认的就好了。
3.过滤器拦截器监听器
先说作用
过滤器Filter当有一堆请求只希望符合预期的请求进来。拦截器Interceptor想要干涉预期的请求。监听器Listener想要监听这些请求具体做了什么。
再说区别
过滤器是在请求进入容器后但是还没有进入Servlet之前工作的。
拦截器是在请求进入控制器Controller 之前进行工作的。过滤器可以有很多个一个个过滤器组合起来就成了 FilterChain也就是过滤器链。例如登录校验可以通过Interceptor来实现。
监听器用于监听 Web 应用中某些对象的创建、销毁、增加、修改、删除等动作然后做出相应的处理的。
Configuration用于取代xml作为配置文件的作用。
过滤器和拦截器都是AOP思想的实现。
4.springboot整合rediskey/value数据库
redis支持的数据类型string字符串hash哈希list列表set集合及zset(sorted set有序集合)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/90243.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!