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

海淀团队组建网站优化网站的公司哪家好

海淀团队组建网站,优化网站的公司哪家好,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.yayakq.cn/news/35831/

相关文章:

  • 做产品网站需要注意网站设计制作规范
  • 怎么在网上建网站哪些网上订餐的网站做的好
  • 上海做一个公司网站多少钱it软件开发
  • 健康养生网站源码网站建设需要哪些信息
  • 国际进出口贸易网站wordpress支付配置
  • 做菠菜网站多少钱开淘宝店要自己做网站吗
  • 北京网站建设咸宁品牌网吴为简介
  • 在线生成网站怎么自己做一个网址
  • 供需平台类网站建设软文营销公司
  • 柳州城市的城乡建设管理局网站wordpress源码站整站源码
  • asp网站空间申请wordpress多咯菜单
  • hqz行情站网站数据库备份还原
  • 上海网站搭建公司哪家好商丘住房和城乡建设网站
  • 中资源的 域名管理网站网站首页是什么意思
  • 机械行业网站模板电子商务网站建设作业总结
  • 网站内容设计模板亦庄网站开发公司
  • 网站开发实用技术知识点智能手机网站模板
  • 网站可以做的线下活动网站建设合同的内容与结构
  • 手机登录不了建设银行网站wordpress做支付
  • 数据可视化网站模板网站建议公司
  • 网站建设比较合理的流程wordpress 3 企业主题下载
  • 苏州网站建设规划深圳网站设计有名 乐云践新
  • 汉子由来 外国人做的网站html黑什么主题WordPress
  • 深圳制作网站培训机构全免费云游戏网页在线玩
  • 中小企业网站官网国内正规的p2p平台有哪些
  • 手机网站建设软件有哪些方面住房和创新建设部网站
  • 男女做羞羞的事视频网站seo网络优化师就业前景
  • 有没有个人做的网站赚流量费如何做网站宣传
  • 可以发布外链的网站app推广工作室
  • 网站视觉怎样在网上做网站