gpt4 book ai didi

java - 在基于 Swing 的前端中使用 Spring 的优缺点是什么

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:16:56 24 4
gpt4 key购买 nike

我们有一个使用 Swing 的前端应用程序。我们使用 Spring 框架,但目前它仅用于 Autowiring 少数 bean...

更频繁地使用 Spring 的合理后续步骤是什么?对于非 Web 应用程序是否值得?

有什么优点和缺点?

最佳答案

使用 Spring(或任何其他依赖注入(inject))框架的优势在于,您可以获得(希望如此)松散耦合的系统,即您的类不会创建其协作者的实例,因此您可以轻松更改实现。

这被广泛称为控制反转原则(IoC,也是 SOLID 中的 I),这是一个很好的遵循原则。这意味着 spring 不仅限于 web 应用程序,还可以用于任何想要使用 IoC 容器(基本上就是 spring-core 的应用程序)的应用程序。

缺点:这真的取决于你如何看待事物。有更多的代码(您必须为注入(inject)的协作者定义一个入口点),但这也使代码更易于测试(入口点是接缝,您可以在测试中使用它来注入(inject)模拟和 stub )。

此外,您无法查看代码并立即了解使用了哪个协作器的实现。但这也有助于编写好的代码,因为您依赖于接口(interface),而不是实现。

您可以获得更多配置:在 xml 文件(旧式 spring)中,或带有注释。直到最近,您还不得不依赖非标准的 spring 注释来注入(inject) (@Autowired) 资源,但现在您可以使用标准的 java 依赖注入(inject)注释,这意味着您可以在不更改代码的情况下将 spring 切换为 IoC 容器.

在您的应用程序中使用 spring 可能有很多优点和缺点,但这应该让您开始决定使用依赖倒置是否对您的应用程序是一件好事

更多关于您关于 Swing 和 Spring 的问题。在我一直在处理的一个应用程序中,我们一直在使用 spring 来连接整个应用程序。不同的对话框注入(inject)了它们的逻辑(应用程序逻辑(在我看来)不应该与 gui 逻辑放在一起)。我们使用 JPA/hibernate 作为数据库层,因此我们使用 spring spring 创建实体管理器并将其注入(inject)到我们的 DAO 中,并设置事务设置。

关于java - 在基于 Swing 的前端中使用 Spring 的优缺点是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5325690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com