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

模板网站与定制网站的区别wordpress 屏蔽工具条

模板网站与定制网站的区别,wordpress 屏蔽工具条,网站开发多少钱,企业网站备案要多少钱文章目录 Spring中的单例bean是线程安全的吗什么是AOP#xff0c;项目中有没有使用到AOPSpring中的事务是如何实现的Spring中事务失效的场景有哪些Bean的生命周期Spring中的循环依赖#xff08;循环引用#xff09;SpringMVC的执行流程SpringBoot自动配置原理Spring、Spring… 文章目录 Spring中的单例bean是线程安全的吗什么是AOP项目中有没有使用到AOPSpring中的事务是如何实现的Spring中事务失效的场景有哪些Bean的生命周期Spring中的循环依赖循环引用SpringMVC的执行流程SpringBoot自动配置原理Spring、SpringMVC、SpringBoot常见注解MyBatis执行流程MyBatis是否支持延迟加载延迟加载的原理MyBatis的一级、二级缓存MyBatis的二级缓存什么时候会清理缓存中的数据 Spring中的单例bean是线程安全的吗 不是线程安全的。在并发执行请求的情况下如果该请求的业务逻辑中存在对单例bean的修改、成员变量的修改则要考虑线程安全问题而且Spring并没有提供bean的线程安全策略。在Spring中可以使用Scope注解来指定bean的生命周期模式有singleton、prototype、request、session、global session第一种指定的是单例bean、第二种指定的是多例bean默认是单例bean。在Spring中的bean大多数是被注入无状态的对象没有线程安全问题如果定义了可修改的成员变量是要考虑线程安全问题的可以使用多例bean、加锁、ThreadLocal来解决部分问题最后尽量不要在bean中定义成员变量。 什么是AOP项目中有没有使用到AOP AOP称为面向切面编程用于那些与业务无关的却和多个对象产生影响的公共行为和逻辑抽取并封装为一个可重用的模块这个模块被称为”切面Aspect“减少系统中的重复代码降低模块之间的耦合度同时提高了系统的可维护性常见的使用场景有记录操作记录、缓存处理、Spring中内置的事务处理编程式事务、声明式事务、公共字段的填充等等。 Spring中的事务是如何实现的 本质是通过事务管理器 动态代理对加了Transaction注解的方法前后进行封装事务拦截器来拦截方法调用在执行方法之前开启事务在执行目标方法后根据执行情况提交或回滚事务受到AOP支持。 Spring中事务失效的场景有哪些 异常捕获处理事务通知只有捕获目标抛出的异常才能进行后续的回滚处理如果目标自己处理了异常事务后续的回滚则不进行导致事务失效在这种情况下如果希望事务不失效那我们应该让事务感知到异常所以我们在catch块中添加抛出异常即可throw new RuntimeException(e)。抛出检查异常checked exceptionsSpring默认只会回滚非检查异常在这种情况下我们希望事务不失效可以指定检查的异常为所有异常这样只要是异常事务都会生效Transactional(rollbackFor Exception.class)。非public方法导致的事务失效因为Spring为方法创建代理、添加事务通知前提条件都是该方法是public的所以希望在这种情况下事务不失效把方法改为public的即可。 Bean的生命周期 手写Spring中Bean的生命周期https://github.com/openallzzz/spring-openallzzz调用BeanDefinition获取bean的定义信息获取beanDefinition的class信息调用构造函数实例化bean反射调用clazz.getDeclaredConstructor().newInstance()bean的依赖注入反射获取属性判断属性是否存在注解Autowired处理aware接口BeanNameAware、BeanFactoryAware、ApplicationContextAwareBean的后置处理器BeanPostProcessor-前置postProcessBeforeInitialization初始化方法重写InitializingBean中的afterPropertiesSet方法、init-methodBean的后置处理器BeanPostProcessor-后置postProcessAfterInitialization销毁bean Spring中的循环依赖循环引用 就是两个或两个以上的bean互相持有对方最终形成闭环。比如A依赖于BB依赖于A。 循环依赖在spring中是允许存在的spring框架依据三级缓存已经解决了大部分的循环依赖非构造方法产生的 一级缓存单例池缓存已经经历了完整的生命周期已经被初始化完成的bean对象二级缓存缓存早期的bean对象生命周期还没走完三级缓存缓存的是ObjectFactory表示对象工厂用来创建某个对象的 构造方法出现了循环依赖的解决方案spring框架并不能解决构造函数的循环依赖我们可以使用Lazy注解进行懒加载什么时候需要对象再进行bean对象的创建。 SpringMVC的执行流程 视图阶段JSP、Thymeleaf 前后端分离阶段接口开发、异步 SpringBoot自动配置原理 Spring、SpringMVC、SpringBoot常见注解 Spring SpringMVC SpringBoot MyBatis执行流程 MyBatis是否支持延迟加载 支持延迟加载但默认是关闭的。对于延迟加载的定义这里举一个例子用户实体中存在订单属性如果我们在查询用户的时候把用户所属的订单数也查询出来这个就是立即加载如果在查询用户的时候暂时不查询订单数据当需要订单数据的时候再查询订单这个就是延迟加载。 延迟加载的原理 MyBatis的一级、二级缓存 注意开启二级缓存需要在配置文件中开启cacheEnabledtrue并且在相应的mapper.xml文件中使用cache/标签相关select语句的参数 useCachetrue相关的实体类需要实现序列化接口数据才会被加入到二级缓存。 MyBatis的二级缓存什么时候会清理缓存中的数据 详细解答https://blog.csdn.net/jinbaizhe/article/details/81158514 当某一个作用域一级缓存Session / 二级缓存namespace进行了写操作新增、修改、删除操作默认该作用域下所有select中的缓存将被清空。
http://www.zqtcl.cn/news/430452/

相关文章:

  • 自己的身份已经网站备案了品牌建设目标包括哪些方面
  • 中国免费网站服务器下载保定网站制作系统
  • 深圳app网站设计数据库网站建设公司
  • 手机网站程序下载做地方黄页网站
  • 网站开发时如何设计英文版本专业vi机构
  • 黄骅市人事考试网电商网站怎样优化
  • 可信网站认证必须做吧陕西做网站的
  • 网站怎么静态化wordpress视频安装教程
  • 合浦县建设局网站网站备案号如何查询
  • 网站跳转代码 html亚马逊使用wordpress做的
  • 做哪一类的网站可以短时间变现东莞大朗网站设计
  • 框架网站模板建设淘宝客网站.lc和ev
  • 驻马店做网站推广涞源县住房和城乡建设局网站
  • 国外seo大神如何做网站 seo
  • 网站建设外文版要求昆山网站建设怎么样
  • 合肥知名网站制作网站建设宣传的目的
  • 曲阜做网站哪家好asp.net网站打不开html页面
  • 品牌网站开发普通人做电商赚钱吗
  • 网站建设与维护理解视频当背景图片 网站开发
  • 站酷设计师网站wordpress 设置静态内容缓存时间
  • 网站推广做什么好看的电商网站模板下载
  • 如何打破违法网站wordpress 无法上传文件
  • 自己做网站的软件下载wordpress发布文章 更新失败
  • 电大企业网站建设论文范文搜狗推广登录入口
  • 建设银行u盾用网站打不开软件工程师证书有哪些
  • 网站建设域名的购买多少钱注册的公司才能参加投标
  • 做婚纱网站策划方案php网站超市源码
  • 济南网站搭建公司有哪些做企业网站的
  • 360做企业网站多少钱凡客诚品网
  • 效果好的徐州网站建设LAMP环境wordpress放在哪里