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

区域城市分站网站怎么做网站软文推广网站

区域城市分站网站怎么做,网站软文推广网站,品牌建设 社会意义,word做网站框架框架篇 Spring框架中的bean不是线程安全的 Scope() singleton单例 prototype多例 一个类中有可修改的成员变量需要考虑线程安全 bean没有可变状态(service类,DAO类) 某种程度单例bean是线程安全的 AOP面向切面编程…

框架篇

Spring框架中的bean不是线程安全的

@Scope()

singleton单例

prototype多例

一个类中有可修改的成员变量需要考虑线程安全

bean没有可变状态(service类,DAO类)

某种程度单例bean是线程安全的

AOP面向切面编程,抽取公共行为和逻辑,封装成可重用的模块(切面)

记录操作日志

缓存处理

Spring中内置的事务处理

常用环绕通知

@Around(切面类)

Spring

编程式事务控制:TransactionTemplate 对业务代码侵入 不常用

声明式事务管理:@Transaction

本质通过AOP对方法前后进行拦截

在方法开始前加入一个事务

在执行完目标方法之后根据执行情况提交或者回滚事务

事务失效的场景

异常捕获处理

try catch

目标自己处理掉异常,事务通知无法获悉

在catch块中添加RuntimeException抛出

抛出检查异常

Spring默认只会回滚非检查异常

在注解里面配置rollbackFor属性

非public方法

事务通知前提是方法是public

bean的生命周期

BeanDefinition

Spring容器进行实例化,xml配置的<bean>的信息封装成BeanDefinition对象

1.构造函数:实例化Bean

Bean的创建和初始化赋值是分开的

2.依赖注入

3.Aware接口

4.Bean前置处理器

5.初始化方法:InitializingBean 自定义init方法

6.Bean后置处理器 AOP 动态代理

7.销毁Bean

三级缓存解决Spring中的循环引用(依赖注入出问题)

一级缓存:单例池,初始化完成的bean

二级缓存:缓存早期的bean对象(生命周期没有走完)

三级缓存:对象工厂,用来创建对象(代理对象)

spring框架依据三级缓存已经解决了大部分的循环依赖

构造方法循环依赖问题

在注入的参数前加@lazy注解

SpringMVC执行流程

视图阶段(老旧JSP)

1.请求到前端控制器

2.前端控制器调用处理器映射器

3.处理器映射器找到具体处理器,生成处理器对象以及处理器拦截器,返回给前端控制器

4.处理器前端控制器调用处理器适配器

5.处理器适配器适配到具体处理器

6.controller执行完返回ModeAndView给处理器适配器

7.处理器适配器将ModeAndView返回给前端控制器

8.前端控制器将ModeAndView传给视图解析器

9.视图解析器解析后返回具体的视图

10.前端控制器根据视图进行渲染

11.响应用户

前后端分离阶段(接口开发,异步)

1.请求到前端控制器

2.前端控制器调用处理器映射器

3.处理器映射器找到具体处理器,生成处理器对象以及处理器拦截器,返回给前端控制器

4.处理器前端控制器调用处理器适配器

5.处理器适配器适配到具体处理器

6.方法添加@ResponseBody

7.通过HttpMessageConverter返回结果转换为JSON并响应

Springboot自动配置原理

@SpringBootApplication包含三个注解

@SpringBootConfiguration 与@Configuration注解作用相同,配置类

@ComponentScan 组件扫描 默认引导类所在包及其子包

@EnableAutoConfiguration 实现自动化配置的核心注解

该注解通过@import注解导入对应的配置选择器

读取该项目和该项目引用的jar包的classpath路径下

META-INF/spring.factories文件中所配置的全类名

根据条件注解所指定的条件决定是否导入Spring容器中

@ConditionalOnClass 判断是否有对应的class文件

Mybatis执行流程

1.读取配置文件

2.创建会话工厂SqlSessionFactory

3.会话工厂创建SqlSession对象(包含执行sql语句的所有方法)

4.操作数据库的接口,Executor执行器,同时负责查询缓存的维护

5.Executor接口执行方法中有一个MappedStatement类型的参数,封装了映射信息

6.输入参数映射

7.输出结果映射

Mybatis支持延时加载,默认没有开启

原理:

1.使用CGLIB创建目标对象的代理对象

2.调用目标方法时,进入拦截器invoke方法,发现目标方法为null值,执行sql查询

3.获取数据后,调用set方法设置属性值,再继续查询目标方法,就有值

本地缓存:本质是一个HashMap

一级缓存:作用域是session级别

二级缓存:作用域是namespace和mapper的作用域,不依赖session

一级缓存:HashMap本地存储,Session进行flush或close,Session中所有的Cache清空

默认打开一级缓存

二级缓存:HashMap存储,不依赖于SQL session 默认关闭二级缓存

全局配置文件

映射文件<cache/>

1.数据更新机制:某一个作用域(一级缓存Session/二级缓存Namespace)进行新增、

修改、删除操作后,默认该作用域下的所有select中的缓存被clear

2.二级缓存需要缓存的数据实现Serializable

3.只有会话提交或者关闭之后,一级缓存中的数据才会转移到二级缓存中

http://www.dtcms.com/wzjs/401200.html

相关文章:

  • 论坛型网站怎么做的原创代写文章平台
  • 菏泽手机网站建设站长工具seo综合查询5g
  • 网站开发的权限设置网络营销专业是做什么的
  • whois哪个网站好西安网站seo公司
  • 外贸论坛福步宁波seo网络推广
  • 国外网站建设方案网站建设推广优化
  • iis ip访问网站seo查询seo
  • 新网站如何做营销google官方入口
  • 网站301在哪做手机制作网页
  • 温州网站排名优化谷歌在线搜索
  • 揭阳做网站seo资源网站排名
  • 部队网站制作站长网站查询
  • 北京兄弟搬家公司seo百度推广
  • 网络做网站如何盈利网站提交收录入口链接
  • 动态网站开发工作什么是百度竞价
  • 服务器怎么直接用ip做网站百度推广竞价排名技巧
  • python 做网站 用哪个框架好高端网站设计定制
  • 做网站时空间的选择中国职业技能培训中心官网
  • 建设网站一般过程seo外推软件
  • 做软件跟网站哪个难宁波seo营销
  • 网站一年维护费用优化大师手机版
  • 网站建设 生产seo搜索工具栏
  • 中山 网站建设一条龙全包南昌seo搜索排名
  • 专业网站建设公司推荐如何刷app推广次数
  • 南宁保洁网站建设奶茶的营销推广软文
  • 台州响应式建站谷歌浏览器下载手机版app
  • 昆明做网站建设的公司google官网登录入口
  • 24小时网站开发 pdf站长工具seo查询
  • 微网站和wap网店推广方案
  • 优秀网站设计要素百度网站官网入口