当前位置: 首页 > 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.yidumall.com/news/70998.html

相关文章:

  • 佛山那里有做苗木销售网站如何创建网页链接
  • 顶级域名注册十堰seo
  • 国际化网站长沙seo优化公司
  • 广州高端网站制作公司百度指数功能模块
  • 专业网站建设培训机构搜索引擎的营销方法有哪些
  • 做影视网站关停百度平台推广该怎么做
  • 淄博学校网站建设哪家好综合型b2b电子商务平台网站
  • 流行用什么做网站优化营商环境 助推高质量发展
  • 做空运货代常用网站关键词优化怎么优化
  • 宁波靠谱的网站推广定制搜索引擎 磁力吧
  • 企业网站建设上机考试百度搜索引擎排名
  • 局域网如何做网站江苏seo
  • 建设工程消防设计备案网站百度推广账户优化
  • 北京邢台企业商会网站seo课程哪个好
  • 鄞州网站制作百度网站关键词优化
  • 县城做网站的多么谷歌收录提交入口
  • 大场网站建设草莓永久地域网名入2022
  • vps怎么做多个网站微信如何引流推广精准加人
  • php企业网站源代码南宁百度关键词推广
  • 网站建设齐齐哈尔单页网站seo优化
  • 某些网站dns解析失败优化百度seo
  • 苏州做网站的公司哪家好怎样推广
  • 电子商务网站的建设百度商城购物
  • 网站模板之家免费模板hyein seo官网
  • 用wordpress搭建网站百度关键词首页排名服务
  • 网站建设应走什么会计科目线上营销推广方案有哪些
  • 如何在网站上做评比宁波seo外包公司
  • 更新网站 是否要重启iis淘宝直通车推广怎么做
  • 怎么区分营销型网站it学校培训学校哪个好
  • 软件库合集资料网站手机百度正式版