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

网站设计师薪资参考重庆网站建设子沃科技

网站设计师薪资参考,重庆网站建设子沃科技,找个人制作网页的网站,做鞋子网站的域名一、Spring Bean的生命周期 生命周期可以分为以下几步#xff1a; 通过Spring框架的beanFactory工厂利用反射机制创建bean对象。根据set方法或者有参构造方法给bean对象的属性进行依赖注入。判断当前bean对象是否实现相关aware接口#xff0c;诸如beanNameAware、beanFactor…一、Spring Bean的生命周期 生命周期可以分为以下几步 通过Spring框架的beanFactory工厂利用反射机制创建bean对象。根据set方法或者有参构造方法给bean对象的属性进行依赖注入。判断当前bean对象是否实现相关aware接口诸如beanNameAware、beanFactoryAware接口如果有的话执行对应的方法。执行bean对象的前置处理器postprocessbeforinitialztion。执行初始化方法initMethod。执行bean对象的后置处理器postprocessafterinitialztion。判断当前bean对象是否为单例是则放到spring对象容器中多例则直接返回bean对象。使用bean对象关闭容器调用destroy方法销毁对象。 二、Spring事务在以下几种情况下会失效。 直接new出来的对象添加事务不起作用因为只有Spring定义的bean才接受事务。由于MySQL的引擎用Myisam不支持事务所以如果使用MySQL的Myisam引擎的话事务不起作用。如果Transaction注解到非public方法上事务不起作用这是因为Spring的Aop特性。如果在当前类中进行内部调用方法比如在A类中有a方法和b方法a方法没有加Transation b方法加了Transation在方法a中调用方法b方法b中的事务也不会生效。这是因为Spring在扫描bean的时候会自动为标注了Transaction注解类生成一个代理类在有注解方法被调用时实际是代理类调用的代理类在调用之前会开启事务执行事务操作。但是同类中的方法相互调用相当于this.b()此时的b方法并非代理类调用而是直接通过原有的bean直接调用所以注解不起作用。开启的线程中。被final注释异常类型错误如果抛出的runtimeException事务才会回滚。如果异常被catch到必须要抛出异常事务才会回滚。 注Spring事务是通过面向切面实现的源码在TransactionInterceptor类中。事务开启是依赖数据库链接的而链接是和线程绑定的。嵌套事务通过savepoint实现事务方法中开启新事务则通过获取新的链接进行事务开启实际就是关闭自动提交。 链接对象封装在TransactionInfo中它也记录了前一个事务对象如果没有则为null。 每开启一个事务这个事务对象都会绑定到一个ThreadLocal静态变量中即当前的事务对象。 spring事务切面基于以上逻辑实现了声明式事务管理及事务属性的传播在当前存在或不存在事务时加入当前事务或开启新的事务或以非事务方式执行或在嵌套事务中执行。 所以在事务方法中 1.使用新的线程执行代码逻辑会使事务失效。 2.事务方法内部捕获了异常sql的异常未将抛出到事务切面中这时候事务会提交即正常执行的那部分sql执行结果将会生效。 3.未指定回滚的异常默认是RuntimeException回滚。如果抛出编译期异常则事务最终也会提交不会回滚。 三、设计模式在源码中应用 工厂方法模式在Spring的AbstractBeanFactory 抽象工厂模式在Spring的BeanFactory 单例模式Spring中创建单例。 建造者模式解析xml文件 原型模式在创建ioc容器后通过getBean()获取bean对象时往里追可以发现在核心方法处spring对bean的scope属性进行了判断配置了prototype时。 适配器模式spring AOP中的MethodBeforeAdviceAdapter类。 装饰模式TransactionAwareCacheDecorator 类 代理模式spring中代理有两种Jdk代理方式和CGLIB。 外观模式Tomcat 中catalina.jar 中的 RequestFacade 和 ResponseFacade 。 桥接模式JDBC 组合模式CompositeCacheManagerMybatis 在处理 xml 动态 sql 中用到了。 享元模式String常量池 Integer 的静态内部类 IntegerCache。 策略模式Cglib2AopProxy和JdkDynamicAopProxy分别代表两种策略的实现方式。 模板方法模式JdbcTemplate实现了一系列常用的数据访问的算法骨架。 观察者模式 ApplicationListener, ContextLoaderListener等。 迭代器模式集合。 责任链模式handlerfilterIntercept。 命令模式Tomcat 中命令模式在 Connector 和 Container 组件之间有体现。 备忘录模式spring-webflow 中的stateManageableMessageContext.createMessageMemento() 状态模式spring-statemachine spring状态机 访问者模式Spring中的 BeanDefinitionVisitor 类主要用于访问 BeanDefinition。 中介者模式Java web 开发中 MVC 模式Model-View-Controller就用到了中介者模式Controller 就是 Model 和 View 的中介 解释器模式在 Spring中ExpressionParser 接口内部采用的是解释器模式。 四、Spring是如何解决循环依赖的 三级缓存简单来说A创建过程中需要B于是A将自己放到三级缓存里面去实例化B。B实例化的时候发现需要A于是B先查一级缓存没有再查二级缓存还是没有则再查三级缓存。找到了A然后把三级缓存里面的这个A放到二级缓存里面并删除三级缓存里面的AB顺利初始化完毕将自己放到一级缓存里面此时B里面的A依然是创建中状态然后回来接着创建A此时B已经创建结束直接从一级缓存里面拿到B然后完成创建并将A放到一级缓存中。 注一级缓存放的是成品对象二级缓存放的是半成品对象三级缓存放的是因AOP、getBean的lambda表达式。 五、Spring自动装配bean有哪些方式 在 Spring 中自动装配autowiring是指由 Spring 容器自动将符合条件的 bean 注入到其他 bean 中的过程。Spring 提供了以下几种自动装配方式 1. 通过注解Annotation-based Autowired这是 Spring 中最常用的自动装配注解可以用在构造函数、方法、属性和参数上。默认情况下它按照类型进行自动装配。如果存在多个符合条件的 bean可以通过 Qualifier 注解指定具体的 bean。 Inject这是一个来自 Java CDIContexts and Dependency Injection规范的注解用法与 Autowired 类似。需要额外引入 javax.inject 依赖。 Resource这是一个来自 Java EE 的注解可以指定 bean 的名称进行自动装配。如果没有指定名称它会根据类型进行自动装配。 2. 通过 XML 配置XML-based autowirebyName通过属性名自动装配。如果 Spring 容器中存在一个与需要装配属性同名的 bean则将其注入。 autowirebyType通过类型自动装配。如果 Spring 容器中存在一个与需要装配属性相同类型的 bean则将其注入。如果存在多个相同类型的 bean将会抛出异常。 autowireconstructor通过构造函数自动装配。会根据构造函数参数的类型将容器中相应类型的 bean 注入。如果存在多个相同类型的 bean将会抛出异常。 autowireautodetect自动检测自动装配方式。首先尝试通过构造函数自动装配如果失败则尝试通过类型自动装配。 尽管 XML 配置方式仍然可用但现代的 Spring 应用程序通常更倾向于使用注解方式进行自动装配因为它更简洁、灵活且易于维护。
http://www.w-s-a.com/news/725140/

相关文章:

  • 找权重高的网站方法wordpress视频网站上传视频
  • 营销型网站架构师迁移wordpress500错误
  • 做网站还是博客由()承担
  • wordpress 导购站模板中国最新军事新闻直播83军
  • 公众号h5网站开发wordpress文章主图
  • ps怎么艺术字字体设计网站我想自己做网站
  • 北京做机柜空调的网站模板网站和插件
  • 手机购物网站模板wordpress添加分类文档
  • 网站开发知识网上怎么申请个人营业执照
  • 音乐网站建设费用营销策略都有哪些4p
  • 深圳制作网站怎么样wordpress 学习视频
  • 新公司注册网站传奇手游大型网站
  • 无极网站网站涉案多少人被抓网站的按钮怎么做
  • ds216j做网站做购物网站那个好
  • 做淘宝门头的网站阿里巴巴官网app
  • 安踏网站建设策划方案如何通过域名访问网站
  • 建设网站破解版seo查询 站长之家
  • 太原模板建站平台旅游企业网站建设工作的通知
  • 网站国外建设超级简历模板官网
  • 上海网站建设市场医药网站怎么做
  • 宁夏成城建设集团网站网店美工课本
  • 哪些网站的简历做的比较好政务服务 网站 建设方案
  • 如何建设个人网站凡科怎么样vps安装wordpress后怎样登录
  • 学seo朝阳区seo
  • 网站开发团队成员皮具网站建设
  • 国外外贸需求网站响应式布局网页
  • 手机端便民服务平台网站建设昆明网络哪家好
  • 产品网站建设找哪家舟山信息港
  • 唐山网站建设汉狮怎么样seol英文啥意思
  • 深圳小程序网站开发公司网页制作模板视频教程