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

镜像站wordpress优化大师 win10下载

镜像站wordpress,优化大师 win10下载,后海做网站公司,wordpress主题缩略图随着项目的复杂度的增加,我们通常会在一个业务类中注入其他过多的业务类。从而使当前的业务层扩充成一个大而全的功能模块。那么就容易出现一下问题 字段注入会让依赖关系变得不那么明显,因为你无法通过构造函数看到所有的依赖项。使用构造函数时&#…

       随着项目的复杂度的增加,我们通常会在一个业务类中注入其他过多的业务类。从而使当前的业务层扩充成一个大而全的功能模块。那么就容易出现一下问题

  • 字段注入会让依赖关系变得不那么明显,因为你无法通过构造函数看到所有的依赖项。使用构造函数时,所有必需的组件都会在方法签名中列出,使得依赖关系更加清晰。
  • 如果 @Autowired 注解的字段没有注入成功,且后续使用时没有进行空值检查,可能会导致空指针异常(NullPointerException)。构造函数注入可以确保所有必须依赖项在对象构造时被提供,当未能注入时,构造过程将失败并抛出异常。
  • 使用字段注入可能导致循环依赖问题,尤其是在两个或多个 beans 互相依赖时。Spring 容器可以通过 setter 注入来解决循环依赖,但构造函数注入则不可以。
  • 字段注入会隐藏依赖的生命周期管理特性。当需要进行作用域(如单例、原型等)的特定管理时,构造函数注入更直观,且不容易出现意外的作用域问题。

       尽管字段注入是一种简单的方法,可以快速快速获得依赖,但它并不是最佳实践。为了确保代码的可维护性、可测试性和清晰性,推荐使用构造函数注入和方法注入。通过这种方式,你可以明确依赖关系,避免潜在的问题,并提升代码的质量和可读性。

      使用字段注入

@Slf4j
@Service
@Transactional
public class StockService {@Autowiredprivate MaterialService materialService;@Autowiredprivate StorageLocationService storageLocationService;@Autowiredprivate StorageStockService storageStockService;@Autowiredprivate StorageStockMovementsService storageStockMovementsService;@Autowiredprivate StorageInboundService storageInboundService;@Autowiredprivate StorageInboundMaterialService storageInboundMaterialService;
}

    (StockService 是专门的服务组合,将多个业务服务提取到一个类中,管理它们的交互。避免违反了单一职责原则)       

       使用构造器(推荐)

@Slf4j
@Service
@Transactional
public class StockService {private final MaterialService materialService;private final StorageLocationService storageLocationService;private final StorageStockService storageStockService;private final StorageStockMovementsService storageStockMovementsService;private final StorageInboundService storageInboundService;private final StorageInboundMaterialService storageInboundMaterialService;public StockService(MaterialService materialService, StorageLocationService storageLocationService, StorageStockService storageStockService, StorageStockMovementsService storageStockMovementsService, StorageInboundService storageInboundService, StorageInboundMaterialService storageInboundMaterialService) {this.materialService = materialService;this.storageLocationService = storageLocationService;this.storageStockService = storageStockService;this.storageStockMovementsService = storageStockMovementsService;this.storageInboundService = storageInboundService;this.storageInboundMaterialService = storageInboundMaterialService;}
}

        有助于提高类的可测试性。如果项目使用了 Lombok,可以考虑使用 @Autowired 和 @AllArgsConstructor 来减少样板代码。

@Slf4j
@Service
@Transactional
@AllArgsConstructor(onConstructor = @__(@Autowired))
public class StockService {private final MaterialService materialService;private final StorageLocationService storageLocationService;private final StorageStockService storageStockService;private final StorageStockMovementsService storageStockMovementsService;private final StorageInboundService storageInboundService;private final StorageInboundMaterialService storageInboundMaterialService;
}

http://www.hrbkazy.com/news/25696.html

相关文章:

  • 桓台做网站免费的编程自学网站
  • html网站制作答辩问题全网霸屏推广系统
  • 定制网站的好处百度框架户一级代理商
  • 有没有帮别人做图片的网站赚钱浙江关键词优化
  • 手机网站在线生成长春网络优化哪个公司在做
  • 那个相亲网站做的比较好百度信息流怎么收费
  • 济南网站制作多少钱一个站长工具seo综合查询广告
  • 股票查询网站模板 wordpress广东最新疫情
  • 兰溪高端网站建设公司百度数据查询
  • 建设银行网站不能登录密码错误2022十大热点事件及评析
  • 镇江企业网站制作广州推广优化
  • 如何快速推广一个网站志鸿优化设计答案
  • 广州网站优化方案百度学术官网
  • 搭建一个网上商城要多少钱青岛网络优化代理
  • 福州日语网站建设线上推广怎么做
  • 开个网站多少钱一年网站怎么快速排名
  • 免费做网站wxp114百度爱采购优化软件
  • wordpress 网站 seoseo搜索引擎优化总结报告
  • 2345网站登录成人短期就业培训班
  • c .net 做网站无锡网站建设seo
  • 网站首页标题设置seo排名优化培训怎样
  • 江苏建设教育协会网站企业邮箱域名
  • 如何添加网站代码武汉网站seo推广
  • 网络制作网站大数据营销专业
  • 烟台外贸网站建设百度seo推广计划类型包括
  • 长春网站制作允许吗北京seo网站管理
  • 网站开发如可使用支付宝台州关键词优化服务
  • 网站外链隐形框架2023重大新闻事件10条
  • 制作微网站公司十大广告公司排名
  • 网站建设客服回访话术大全做网站需要准备什么