依赖注入教程

     

SpringBoot中根据属性动态注册Spring Bean

32 6K

在本教程中,我们将探讨如何根据自定义属性动态注册Bean 。我们将探讨BeanDefinitionRegistryPostProcessor 接口以及如何使用它向应用程序上下文添加 bean。让我们首.

Spring中将bean自动装配到ServletFilter的4种方法

19 9K

Servlet过滤器提供了一种强大的机制来拦截和操作传入请求。然而,在这些过滤器中访问 Spring 管理的 bean 可能会带来挑战。在本教程中,我们将探索在Servlet过滤器中无缝获取 Spri.

Spring中实现策略模式示例

53 12K

在本教程中,将探索 Spring 框架中的各种策略模式实现,例如列表注入、映射注入和方法注入。什么是策略模式?策略模式是一种设计原则,允许您在运行时切换不同的算法或行为。它允许您在不改变应用程序核心逻.

一句话描述Spring框架的工作原理

31

Spring有什么作用? 当您调用SpringApplication.run(MyApp.class)时,它会使用提供的类来获取类的包, 然后遍历所有类、包和子包及其类,以通过反射获取所有@Beans.

Java中无需DI框架的演示

191 8K

本文将带您踏上一段有趣的旅程,穿越鲜为人知的 Java 开发之路,揭开手动控制组件创建和依赖关系的细微差别。准备好进入简单性与有效性相结合的领域,我们将演示复制和理解 DI 框架通常处理的功能的实践方.

Spring中使用 Factory Bean 自动装配

55 8K

Spring 中的自动装配消除了在 XML 配置文件中手动装配的需要,而是依赖于框架直观“猜测”并在需要时注入依赖项的能力。这种直观的方法不仅简化了代码,还增强了其模块化性和可读性,使基于 Sprin.

SpringBoot中@Qualifiers教程

105 9K

Spring 中的Autowired自动装配是一个核心概念,它简化了依赖注入的过程,这是该框架的基本原则。本质上,自动装配使 Spring 容器能够自动将必要的依赖项注入到 Spring bean 中.

Spring框架@Bean与@Component区别

83 3K

在Spring中,`@Bean`和`@Component`都用于定义bean,这些bean是由Spring IoC(控制反转)容器管理的对象。然而,它们在不同的上下文中使用,具有略微不同的目的。@Be.

SpringBoot中如何修改BeanDefinition?

1212

在实例化Bean对象之前,Spring IOC需要读取Bean的相关属性,将其保存在BeanDefinition对象中,然后通过BeanDefinition对象将Bean对象实例化。如果你想修改Bea.

SpringBoot中如何​​​​​​​导入配置?

806 3K

有时我们需要在某个配置类中引入其他类,而导入的类也会被添加到spring容器中。这时,可以使用注解@Import来完成这个功能。如果你看一下它的源代码,你会发现导入的类支持三种不同的类型。但我认为最好.

什么是可扩展前端架构?

1267 5K

关于软件开发,可扩展性这个词的两个最常见的含义与代码库的性能和长期可维护性有关。你可以同时拥有这两点,但专注于良好的可维护性会使你更容易调整性能而不影响应用程序的其他部分。在前台更是如此,在这里我们有.

Rust模块系统的清晰解释 - sheshbabu

1135 14K
在这篇文章中,我将使用实际示例来解释模块系统,以便您清楚地了解它的工作原理,并可以立即开始在您的项目中应用它。由于 Rust 的模块系统非常独特,我要求读者以开放的心态阅读这篇文章,并拒绝将其与其他语.

java-callgraph:为Java程序生成静态和动态调用依赖图

3047 8

一套用于在Java中生成静态和动态调用图的程序。 javacg-static。从jar文件中读取类,沿着方法体走,并打印出一个调用者-被调用者的关系表。 javacg-dynamic。作为一个Java.

Typescript中的函数依赖注入DI

941 2K

依赖性注入是将一个代码单元的逻辑与它的依赖关系分开。在函数的上下文中,它采取的形式是将这些依赖关系建模为依赖函数的参数,并将其作为参数传递(注入)。我发现DI在以下几个方面提供了价值。 它使mocki.

Rust的traits和依赖注入的更好实现 - jmmv

2666 4K

依赖注入是我最喜欢的用于开发高度可测试和模块化代码的设计模式之一。要应用此模式,您所要做的就是遵循两个简单的准则:将对象构造与使用分开。实际上:停止在构造函数中创建对象并将这些对象作为输入参数。使用接.

用无上下文的Go语言实现HTTP服务

658 9K

许多Go开发者,尤其是新开发者,发现一个不明显的问题是,我到底该如何把所有我需要的东西都传到我的处理程序中?我们没有像Java或C那样花哨的控制反转系统。 http.处理程序是静态签名,所以我不能只传.

可汗学院使用Go静态上下文理顺全局变量和依赖 - khanacademy

889 1 10K

可汗学院正在完成一个巨大的项目,将我们的后端从Python迁移到Go。虽然这个项目的主要目标是迁移到一个过时的平台上,但我们看到了改进我们代码的机会,而不仅仅是直接移植。我们想改进的一件大事是我们的P.

JavaEE依赖注入CDI的开源实现: Weld

830

Weld 是Java EE平台依赖注入CDI 的开源实现,CDI是一个 用于依赖注入和上下文生命周期管理的JCP 标准,也是 Java EE 中最重要和最受欢迎的部分之一。Weld 已集成到许多 Ja.

在SpringBoot中应该避免的反模式 - Ali

1005 1

Spring Framework 及其顶层实现 Spring Boot 和 Spring MVC 是 Java 世界中最常用的框架。它被使用得越多,随着时间的推移就会出现越多的不好和好的做法。 Spr.

Swift面向协议的编程 - arturgruchala

739 3K

2015 年,苹果推出了一个新概念——面向协议的编程。我敢肯定,您正在使用这些技巧中的大部分,甚至全部。案例:您正在使用UserDefaults. 也许是一个简单的保存用户关于黑暗主题偏好的决定。cl.

依赖注入模式(Dependency Injection)

1139 19K
目的依赖注入是一种软件设计模式,其中一个或多个依赖项(或服务)被注入或通过引用传递到依赖对象(或客户端),并成为客户端状态的一部分。该模式将客户端依赖项的创建与其自身行为分开,从而允许程序设计松散耦合.

Bob大叔设计语录:脏组件

971

每个设计良好的系统至少有一个脏组件,通常与主组件相关联。此组件外面的任何内容都不依赖组件内部的任何内容。所有依赖关系都指向外部。这是您放置切换,工厂和IOC的地方。.

关于Quarkus的思考

6728 5K

Quarkus, 这个新的“超音速,亚原子”Java框架目前正受到很多关注。使用Quarkus有什么好处和缺点?摆脱动态Quarkus认为,在容器化的世界中,企业Java运行时的大部分动态特性并不是真.

在Spring中使用父子分层上下文自定义依赖注入 - EmpathyBroker

2646 11K

已经有一段时间了,因为我想要查看在多个Spring上下文中定义的覆盖依赖项的不同选项,所以我决定使用这篇文章来深入研究这个主题。我们来做一些编码!作为背景,我将遵循这个“ 基础” Spring上下文配.

在Java SE下测试CDI Bean和持久层 - relation

1512 18K

在测试Java EE应用程序时,我们可以使用各种工具和方法。根据给定测试的具体目标和要求,选项范围从单个类的普通单元测试到部署到容器中的综合集成测试(例如通过Arquillian),并通过REST A.

SOLID原则的坚实指南| Baeldung

1281 1 11K

在本教程中,我们将讨论面向对象设计的SOLID原则。首先,我们将首先探讨它们出现的原因以及为什么在设计软件时应该考虑它们。然后,我们将概述每个原则以及一些示例代码以强调这一点。SOLID原则的原因SO.

为什么需要六边形架构?- silkandspinach

3264 2

传统应用程序架构的标准三层或四层模型似乎决定了系统中各种对象之间的依赖关系的方向:UI依赖于应用程序层,因为UI“驱动”后面发生的事情;应用程序层依赖于业务对象,业务对象执行所有特定于领域的事务,业务.

软件复用导致的软件依赖问题 - research!rsc

2312 10K
几十年来,对软件重用的讨论远比实际的软件重用更常见。今天,情况正好相反:开发人员每天都以软件依赖的形式重复使用其他人编写的软件,而且情况大多未经审查。我自己的背景包括使用Google的内部源代码系统十.

2个软件开发原则如何挽救您的项目 -Jordy Baylac

970 4K

在这篇文章中,我将重点解释一种设计模式(控制反转)和一种实践(YAGNI)如何降低软件项目失败的可能性。您可以立即开始应用这些技术。如果您是工程经理,如果您想降低功能边际成本的波动性,那么这是一个很好.

Cookie Cutter架构 - Janos Pasztor

1213 1 9K

在业务应用程序方面,您需要一个可以很好地扩展的体系结构。这是我的看法,基于Uncle Bobs EBI。尽管大多数人都认为我是DevOps人,但我经常在咨询项目期间使用业务应用程序,甚至在为DevOp.