当前位置: 首页 > news >正文

南宁网站定制公司体验式营销经典案例

南宁网站定制公司,体验式营销经典案例,网站全站优化,wordpress搭的1.事务与数据库链接的占用 如果用Transactional注解,那在第一次与数据库交互的时候,就会打开数据库链接,再整个方法执行完,才会关闭数据库链接。 即使后边用的事务传播是required_new,那之前的事务也是被挂起,不会被…

1.事务与数据库链接的占用

如果用@Transactional注解,那在第一次与数据库交互的时候,就会打开数据库链接,再整个方法执行完,才会关闭数据库链接。

即使后边用的事务传播是required_new,那之前的事务也是被挂起,不会被关闭,也是占用了数据库链接。

所以为了防止链接占用时间过长,最好不要在被@Transactional修饰的方法中,做文件处理或者是操作redis

可以像下边那样写

//MethodA不被@Transactional修饰
MethodA(){MethodB();//被@Transactional修饰的方法,注意B方法和A方法不能在同一个类中MethodC();//文件处理,或者操作redis
}

或者,使用编程式事务。execute执行完,数据库链接就会关闭。

 @Transactional是注解式事务,TansactionTemplate是注解式事务

 2.事务传播

  • REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。
  • 这是新创建了一个数据库链接Connection,新事务完成后就关闭那个数据库链接
  • NESTED:如果当前存在事务,则在嵌套事务内执行。如果当前不存在事务,则创建一个新的事务。如果主事务提交,则提交所有的嵌套事务。如果任何一个嵌套事务失败,则回滚所有的嵌套事务,但不影响主事务的提交。
  • 这个数据库链接用的还是原来的,但是新建了savepoint。如果嵌套事务执行失败,就回滚到指定的savepoint
  • 因为外层事务的savepoint在更前边,所以嵌套事务不影响外层事务,但是外层事务回滚时,子事务也回滚。

总结

加入事务(REQUIRED)和嵌套事务(NESTED)都是事务传播机制中的两种传播级别,如果当前不存在事务,那么二者的行为是一致的;但如果当前存在事务,那么加入事务的事务传播级别当遇到异常时会回滚全部事务,而嵌套事务则是回滚部分事务。嵌套事务之所以能回滚部分事务,是因为数据库中存在一个保存点的概念,嵌套事务相对于新建了一个保存点,如果出现异常了,那么只需要回滚到保存点即可,这样就实现了部分事务的回滚。

Nested事务传播的模拟

 

3.spring如何处理事务

1. spring检查当前方法以及类上有没有@transactional注解

2. 事务开启后,会在连接中关闭数据库的自动提交

3. 非public得方法,事务不生效,因为spring无法生成代理对象

这是spring源码

 4.spring的切面

1.代理模式

这是spring源码

2.切面加载排序

 如果注解相同,比如同为@Before,那就按照代码编写顺序

5.要实例化一个类必须有beandefinition

6.前后端交互逻辑

1.url匹配

后端启动的时候就把被@Controller修饰的类加载出来,并且找到类上边的@RequestMapping和方法上的@RequestMapping,两个url拼接,形成完整的url

下边是源码

2.返回的时候,不一定使用到视图解析器

 

在Spring MVC中,如果你的控制器方法只返回字符串或者JSON串(通常作为RESTful API的响应),通常不需要配置视图解析器(ViewResolver)。

视图解析器主要用于将控制器方法返回的逻辑视图名称解析为实际的视图(如JSP、Thymeleaf模板等),然后渲染到客户端。但是,如果你的方法直接返回字符串或者JSON数据,Spring会将这些数据写入HTTP响应体中,而不是尝试解析为视图。

### 返回字符串

如果你的控制器方法返回一个普通的字符串,Spring MVC将直接将这个字符串作为HTTP响应的内容返回给客户端,而不会将其解析为视图。例如:

```java
@RequestMapping("/hello")
@ResponseBody
public String hello() {
    return "Hello, World!";
}
```

在这个例子中,`@ResponseBody`注解告诉Spring MVC将方法的返回值直接作为HTTP响应的主体内容,而不会通过视图解析器来渲染。

### 返回JSON

如果你的控制器方法返回一个对象,并且希望将其转换为JSON格式返回给客户端,通常使用`@RestController`注解更为方便,它结合了`@Controller`和`@ResponseBody`的功能。例如:

```java
@RestController
public class ExampleController {

    @RequestMapping("/user")
    public User getUser() {
        User user = new User("John Doe", 30);
        return user;
    }
}
```

在这个例子中,Spring MVC会自动将`User`对象转换为JSON格式,并将其作为HTTP响应的内容返回给客户端,而不需要视图解析器的参与。

因此,当你的控制器方法仅返回字符串或者JSON数据时,视图解析器是不必要的。相反,Spring MVC会根据方法的注解(如`@ResponseBody`或`@RestController`)来直接处理返回的数据。

 

3.前端header中的Accept与后端的produces对比

7.如何注入所有子类

 8.spring中${}和#{}

 

9.算法相关

1.双指针

2.同构字符串

 

3.二叉树最大深度

 

4.有序数组转为二叉搜索树

二叉搜索树的 左<根<右

 

 5.二进制逐位颠倒

 >>>无论如何都补0,>>如果有符号位补符号位

 1.我的解决办法

 6.异或^=

两数相同,异或为1

1和任何数n异或,结果为n

 7.二叉搜索树两个节点公共祖先

因为二叉搜索树满足 左<根<右

所以可以分别求两个节点路径

当路径不同时,前一个值就是公共祖先

10.字符串在内存中的分配

 

 

 

 

 

11.java1.8后map扩容算法

 (n - 1) & hash 在计算机科学中经常用于快速计算 hash 值在数组(或哈希表)中的索引位置

这里的 n 通常是数组的长度,而 hash 则是计算出来的哈希值。

http://www.hkea.cn/news/630301/

相关文章:

  • 实时网站制作网站关键字优化
  • 商城网站要多少钱网页制作app
  • 做网站前端难吗个人网站
  • 怎么做亚马逊网站百度小说排行榜2020
  • 山东省建设文化传媒有限公司网站网站排名查询工具有哪些
  • 营销型企业网站有哪些网站建设找哪家好
  • 玉环做企业网站任何东西都能搜出来的软件
  • 无锡专业网站建设搜索优化seo
  • 成品软件源码网站大全百度权重10的网站
  • 深圳手机网站建设多少钱外链代发软件
  • 璧山集团网站建设互联网推广营销
  • 平面设计网址推荐全国seo搜索排名优化公司
  • 青岛公路建设集团网站东莞排名优化团队
  • 北京公司响应式网站建设价位太原网站建设开发
  • 龙岩网络诈骗通缉人员优化推广方案
  • 专做海外代购的网站设计案例网
  • 漳州网站设计东莞网站制作模板
  • 制作应用的软件成都排名seo公司
  • 北京专业企业网站建设俄罗斯搜索引擎入口 yandex
  • wordpress 怎么改中文网站推广优化价格
  • 南山做网站公司怎么选择企业seo优化服务
  • 什么 电子商务网站建设与管百度招商加盟
  • 南召微网站开发手机优化大师官方版
  • 营销型网站技术特点网站推广网
  • 龙游县住房和城乡建设局网站百度seo优化方法
  • 深圳方维网站建设设计个人网站
  • wordpress 流量站百度应用
  • ps素材网seo在线工具
  • 岳阳网站开发公司html网站模板免费
  • 怎样用模板做网站优化网站技术