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

衡水网站检测公司网站建设需要多少钱

衡水网站检测公司,网站建设需要多少钱,徐州关键字优化咨询,网上最靠谱的赚钱软件随着项目的复杂度的增加,我们通常会在一个业务类中注入其他过多的业务类。从而使当前的业务层扩充成一个大而全的功能模块。那么就容易出现一下问题 字段注入会让依赖关系变得不那么明显,因为你无法通过构造函数看到所有的依赖项。使用构造函数时&#…

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

  • 字段注入会让依赖关系变得不那么明显,因为你无法通过构造函数看到所有的依赖项。使用构造函数时,所有必需的组件都会在方法签名中列出,使得依赖关系更加清晰。
  • 如果 @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/27590.html

相关文章:

  • 如何给英文网站做外链西安优化seo托管
  • 怎么制作自己的网站企业培训师资格证
  • php 做网站xml地图软文推广公司有哪些
  • html5网站有点互联网营销师是干什么的
  • 做网站需要多少钱一个月线上销售如何找到精准客户
  • 餐馆建设网站的目的是什么拼多多seo 优化软件
  • 如何建立网站视频教程sem是什么基团
  • 网上接单做衣服哪个网站公司网络营销实施计划
  • 专门做布料的网站国外域名注册网站
  • 什么软件做美食视频网站好友情链接代码模板
  • 网站上线步骤云南网络推广seo代理公司
  • vue.js做网站seo推广主要做什么
  • 做毕业网站的周记全国疫情排行榜最新情况列表
  • 金华公司做网站app拉新一手渠道
  • 哈尔滨做网站的发布软文
  • 网站建设公司有多少钱太原seo排名收费
  • 中信建设有限责任公司崔玮seo每日
  • 怎么做网站建设的ppt汕头百度网站推广
  • 东莞网站建设定制9个广州seo推广神技
  • 大淘客做的网站打不开2022年seo最新优化策略
  • 哪家做网站公司最好优化大师
  • 怎样增加网站浏览量地推接单在哪个平台找
  • 怎么用DREAMWAVER做网站2345导航网址
  • c 做网站简单吗乐天seo培训中心
  • 做抽奖网站违法吗外贸网站建设设计方案
  • 荆州网站推广怎么做收录优美的图片app
  • 汽车网站开发背景广告联盟下载app
  • 界面设计分析seo营销技巧培训班
  • 徐州手机网站营销公司哪家好南宁seo排名外包
  • 新建网站怎么做关键词百度网址安全中心