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

iis网站防盗链网络营销专业是学什么的

iis网站防盗链,网络营销专业是学什么的,网络推广外包联系方式,中国做的比较好的网站Spring框架中有三种注入变量#xff1a; 基于二传手的注射 基于构造函数的注入 基于现场的注入 这些机制中的每一种都有优点和缺点#xff0c;并且不仅只有一种正确的方法。 例如现场注入#xff1a; Autowired private FooBean fooBean;在生产代码中使用它通常不是最好… Spring框架中有三种注入变量 基于二传手的注射 基于构造函数的注入 基于现场的注入 这些机制中的每一种都有优点和缺点并且不仅只有一种正确的方法。 例如现场注入 Autowired private FooBean fooBean; 在生产代码中使用它通常不是最好的主意主要是因为它使我们的bean无法在不启动Spring上下文或不使用反射hack的情况下进行测试。 另一方面它几乎不需要其他代码并且可以在集成测试中使用-绝对不会独立实例化。 在我看来这是基于现场注射的唯一情况。 现在让我们关注两个主要变体。 在Spring文档中我们可以读到 …将构造函数参数用于强制性依赖项并将设置器用于可选的依赖项是一个很好的经验法则。 同样在参考Spring到3.1的文档中 我们可以找到一个句子 Spring团队通常提倡setter注入因为大量的构造函数参数可能变得笨拙尤其是当属性是可选的时。 这种情况在文档中已更改为第四版其中指出 Spring团队通常提倡构造函数注入因为它使人们能够将应用程序组件实现为不可变对象并确保所需的依赖项不为null。 尤其是在版本4.0之前的人们使用基于构造函数的注入方式其中有些“纯粹主义者”也可以在本文档中找到时 这非常酷请注意在第四个框架发布之前这种注入方式存在很大的问题–方面要求使用默认构造函数。 现在仍然存在基于构造函数的注入的“缺点”它不允许循环依赖。 我特意在双引号中添加了缺陷因为对我而言这是该机制的巨大优势)文档中还有另外一句话 通常建议不要在bean之间使用循环引用。 但为什么 如果我们的应用程序中有循环引用该怎么办 我不想写关于应用程序设计的文章因为几乎总是可以重构我们的代码并将有问题的逻辑委托给第三个bean。 有两个重大而不幸的“沉默”问题。 第一个陷阱 调用ListableBeanFactory.getBeansOfType方法时不能确定将返回哪些Bean。 让我们看一下DefaultListableBeanFactory类的代码 if (isCurrentlyInCreation(bce.getBeanName())) {if (this.logger.isDebugEnabled()) {this.logger.debug(Ignoring match to currently created bean beanName : ex.getMessage());}// ...continue; } 如您所见如果您不使用DEBUG日志记录级别那么将有零个信息表明Spring在解析过程中跳过了特定的bean。 如果您想获得所有事件处理程序那就太麻烦了:) 第二个陷阱 第二个问题涉及AOP。 如果要在bean上使用方面请确保它不涉及循环引用-否则Spring将创建bean的两个实例–一个没有方面另一个具有适当方面。 当然仍然没有任何信息。 惊讶吗 对我来说 停止在我们的应用程序中使用循环依赖就足够了特别是与此相关的行为可能更有趣。 请勿使用循环依赖 但是我们该如何摆脱困境呢 当然您可以使用基于构造函数的注入:)但是如果您有大量的应用程序那么花很多时间重写所有类以使用构造函数而不是setter并不是最好的主意。 幸运的是我有个好消息– AbstractRefreshableApplicationContext类中的allowCircularReferences字段。 只需添加一行到应用程序上下文创建所描述的方式在这个岗位 AnnotationConfigWebApplicationContext applicationContext new AnnotationConfigWebApplicationContext(); applicationContext.setAllowCircularReferences(false); // rest of context initialization 最后为了使您心情愉快我从DefaultListableBeanFactory粘贴了另一个代码片段 catch (NoSuchBeanDefinitionException ex) {// Shouldnt happen - probably a result of circular reference resolution...if (logger.isDebugEnabled()) {logger.debug(Failed to check manually registered singleton with name beanName , ex);} } 祝你今天愉快 :) 翻译自: https://www.javacodegeeks.com/2015/01/dependency-injection-pitfalls-in-spring.html
http://www.zqtcl.cn/news/292856/

相关文章:

  • 网站定位与功能分析网站常见故障
  • 深圳电子商务网站制作桂林市防疫最新政策
  • 北京网站建设备案代理网站建设计划建议
  • 湛江公司做网站wordpress如何设置网站地图
  • wordpress攻防优化方案
  • 义乌市建设银行分行网站宜春静态管理
  • 企业网站优化电话17做网店类似网站
  • 南京网站建设黄页网站大全在线看免费
  • 网站开发过程记录定制西服
  • 长沙有哪些网站建设公司用vue做网站的实例
  • 购物网站模板 php网页设计图片剧中
  • 嘉峪关市建设局网站横沥镇网站建设公司
  • 查找网站软件培训记录
  • 注册网站安全吗制作人漫画
  • jeecms 怎么建设网站嵌入式软件开发兼职
  • 百度怎么自己做网站四川省建设工程交易中心网站
  • 中介如何做网站收客wordpress 运行代码
  • 网页设计与网站建设考试题目如何做建议的网站
  • 网站怎么推广软文政务网站建设存在问题
  • 公司官方网站建设需要多少钱wordpress单页面制作
  • 社群网站建设网站推广的方式有哪几种
  • 培训机构活动策划网站wordpress 改端口
  • 北京网站制作与营销培训用asp做网站视频
  • 江苏丹阳建设公司网站做网站中的剪辑图片
  • 纯静态网站怎样广州工程造价信息网
  • 为什么网页不能打开建设银行网站企业网站开发综合实训
  • 企业网站制作 深圳网站建站行业公司主页建设
  • 外汇直播网站建设开发做网站空间商需要办什么手续
  • 源码哥网站的模板皮肤病在线咨询医生免费咨询
  • 温岭市市住房和城乡建设规划局网站附近的电脑培训班在哪里