JavaRush /Java 博客 /Random-ZH /使用 Spring 的好处
Alex
第 37 级

使用 Spring 的好处

已在 Random-ZH 群组中发布
许多新手开发人员迟早都会遇到Spring,这是一种用于开发 Java 应用程序的流行框架。Spring 允许您做的主要事情是为开发人员简化 J2EE 应用程序的开发。以下是开发人员使用 Spring 时获得的主要好处:
使用 Spring 的好处 - 1
  • 如果你想为你未来的应用留一个“空白”,Spring为你未来的应用提供了一个框架。同时,框架向您规定了构建应用程序的规则 - 您需要在其中构建功能的特定应用程序架构。该功能实际上是应用程序的业务逻辑。Spring包含许多针对特定功能定制的子项目(SpringMVC、Spring Security、SpringData等,完整列表可以在https://spring.io/projects查看),开发人员可以从中选择最适合自己的一个,并且不要使用其余部分 - 这是构建应用程序的模块化原则;

  • 在基于 Spring 的应用程序中,对象通过使用依赖注入来松散耦合。Spring 的目标之一是打破某些对象对其他对象的依赖。什么是成瘾?这是当 Object1 使用另一个 Object2 的方法时,即 Object1 依赖于它使用的 Object2 的方法。他为什么依赖?但因为在创建 Object2 对象之前,Object1 将无法实现其功能。如何戒掉毒瘾?通过构造函数或 setter 将 Object2 对象的引用“注入”到 Object1 对象中。这个过程实际上就是依赖注入。需要记住的是,在 Spring 中,对象必须建立在接口的基础上,以便以接口的形式注入依赖项,以便后续可能替换实现。

  • 您不必使用 new 运算符手动创建对象。这个功能已经委托给Spring容器了。这就是控制反转(IoC)——将实例化必要的依赖项(对象)的功能转移到容器中。您问的所有问题中,开发人员扮演什么角色?声明该组件,使其落入 Spring 上下文中。Spring的上下文,简单地说,就是一张所有bean所在的地图。当他们说 bean 在 Spring 的上下文中时,请考虑该 bean 在映射中,并且 Spring 知道从映射中获取它的键。在 xml 配置中或在带有 @Component 注释的类中标记为 bean 的所有内容都会被实例化并放置在 Map<key,bean> 映射形式的映射中,即 容器有一个映射,它“存储”所有的bean(Spring中的关键概念是bean,这是容器管理的实体。为了使bean(普通类)成为托管的,它必须落入Spring上下文。),如果需要的话,实现,容器会做这样的事情:map.get(key),key是字段类型;

  • Spring 不仅使您不再需要创建对象,而且还使您无需关联它们。例如,@Autowired 注释允许您自动连接组件。@Autowired spring 注解可以简单地描述如下:亲爱的朋友,spring 容器,请查看你的 bean 映射,看看你是否有我前面的类的 instanceof 或实现。如果有,请在我声明的字段中给我一个链接。自动链接允许您在确定组件依赖关系时减少代码量;

  • 在Spring中,bean设置与程序代码是分离的。将配置(依赖管理)移动到单独的文件中可以更轻松地进行项目中的后续更改(替换实现):


    • 提高了可测试性。当基于 DI 和接口设计类时,可以在测试期间轻松替换依赖项(使用假实现);

    • 使用注释以声明式方式进行编程的能力减少了应用程序中的代码量;

    • 支持与数据访问技术、事务、AOP 的良好集成,简化了开发;

    • 良好的文档在调试应用程序时有很大帮助;
对于那些想了解 Spring 的人,我推荐阅读 K. Walls。Spring in Action - 第三版,当然还有官方文档。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION