Java开发人员可以从Spring框架中学到编程技巧
毫无疑问,Spring Framework是最受欢迎的Java框架之一,通过提供依赖注入和控制反转等特性,可以轻松创建真实的企业级Java应用程序。但是,Spring不仅是一个DI和IOC框架。通过提供有用的抽象层,它可以简化许多Java API,例如JDBC,JMS,Java Mail等。使用Spring的JdbcTempalte和其他实用程序类使用JDBC要容易得多。它们删除了大多数与开发SQL语句和处理ResultSet相关的 Java开发人员面临的摩擦,以获取他们想要的Java对象。
因此,当学习Spring框架时,不仅要学习如何使用它,还要了解如何在Java和面向对象编程中编写更好的代码。在本文中,将分享在学习Spring时遇到的一些最佳实践
1.接口编码
这是在阅读Head First Design Pattern时首先学到的旧OOP指南。该OOP设计原则的主要目的是减少两个类之间的耦合,从而提高灵活性。
Spring严格遵循这个面向对象的准则,并经常暴露一个接口来使用密钥类,例如创建JdbcOperation接口以利用JdbcTemplate。这种做法促进了不同层之间的松散耦合。
另一个很好的例子是Cache 接口,用于提供缓存。所有其他缓存实现,例如EhCache,ConcurrentMapCache和NoOpCache实现这个接口。
如果你的代码依赖于Cache接口而不依赖于任何特定实现,则可以切换缓存提供程序而不会影响代码的其他部分。
下面是使用Collection框架在Java中编写接口的简单代码示例。如果仔细观察,在这个示例中,我使用了一个接口而不是实现来声明Java中的变量、参数和返回方法类型。
import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /**
- Program to demonstrate coding for interfaces in Java
- @author WINDOWS 8
/ public class Hello { public static void main(String args[]) { // Using interface as variable types List rawMessage = Arrays.asList("one", "two", "three"); List allcaps = toCapitalCase(rawMessage); System.out.println(allcaps); } /*
- Using Interface as type of argument and return type */ public static List toCapitalCase(List messages) { return messages.stream() .map(String::toUpperCase) .collect(Collectors.toList()); } }
这种编码风格灵活,将来更容易更改。
- 检查异常和未经检查异常
如果你使用过Spring framework,就会注意到Spring更喜欢未检查的异常而不是已检查的异常,最好的例子是Spring JDBC。
Spring有一个丰富的异常层次结构,用于描述从数据库中连接和检索数据时可能出现的不同错误,但是这些错误的根源是DataAccessException,它是未选中的。
Spring认为,大多数都是由于无法在catch块中纠正错误造成的,因此它决定捕获开发人员的异常,而不是像Java那样强制它们。结果是代码更整洁,没有空的catch块,并且try-catch块更少。这也是在Java中处理错误和异常时的最佳实践之一。
3.模板设计模式的使用
Spring大量使用Template方法设计模式来简化事情。一个很好的例子是JdbcTemplate,它在使用JDBC API时消除了很多麻烦。你只要定义需要的内容,Spring负责流程的其余部分。
如果不知道模板设计模式定义了一个过程或算法,你不可能改变这个过程,但你可以根据你的需求来制定步骤.
例如,在处理JDBC时,可以使用JdbcTemplate执行查询并获得所需的对象。你只需要提供在每种情况下都不同的SQL,以及将行从表映射到对象的映射逻辑。
这是一个很好的图表,它很好地解释了模板设计模式。你可以看到每个人都有一些共同的任务,但他们做了不同的工作,并且很好地通过Template方法捕获。它们所需要定义的是它们的工作,它们通过将work()定义为一个抽象方法来定义它们的工作。
Java开发人员可以从Spring框架中学到编程技巧 这就是您可以从Spring框架中学到的一些Java最佳实践,无论如何,如果您遇到过从Spring Framework学到的任何其他最佳实践,请在评论中与我们分享。
转载于:https://juejin.im/post/5c7e41b9f265da2db4144765
Java开发人员可以从Spring框架中学到编程技巧相关推荐
- tfs java开发需要jar_使用Spring框架开发最少需要哪些jar包,依赖jar包有哪些?
展开全部 最少需要11个jar包,分别是:spring-context.jar commons-logging.jar aspectjrt.jar spring-core.jar aspectjwea ...
- 如何成为一个成功的 Java 开发人员?
如果你是一名成功的Java程序员,那么在任何公司中的Java开发人员中,你都有机会获取一席之地. 作者 | ASHISH KHURAISHY 译者 | 苏本如,责编 | 郭芮 出品 | CSDN(ID ...
- Java开发人员在编程中常见的雷!
身为一名Java从业人员,其职场生涯就是一边踩"坑",一边上升的过程.这个过程中不仅要学会修改无数bug,也要学会越过很多"坑".今天,千锋老师为大家分享一些J ...
- 分享一些Java开发人员在编程中最容易踩雷的地方!
身为一名Java从业人员,其职场生涯就是一边踩"坑",一边上升的过程.这个过程中不仅要学会修改无数bug,也要学会越过很多"坑".今天,小千为大家分享一些Jav ...
- 一些Java开发人员在编程中常见的雷!
身为一名Java从业人员,其职场生涯就是一边踩"坑",一边上升的过程.这个过程中不仅要学会修改无数bug,也要学会越过很多"坑".今天,小千为大家分享一些Jav ...
- 2021年最新调查:86% 的 Java 开发人员 依赖 Spring 框架
>>号外:关注"Java精选"公众号,回复"2021面试题"关键词,领取全套500多份Java面试题文件. 自2003年发布以来,Spring Ja ...
- Java开发人员应该知道的5大Spring Boot功能
您可能已经听说过Spring Boot,这是用不到140个字符创建一个Spring Web应用程序的神奇力量,可以在一条推文中编写这些字符,但这到底意味着什么? 哪些功能可以使Spring Boot具 ...
- Spring MVC的DispatcherServlet – Java开发人员应该知道的10件事
如果您使用过Spring MVC,那么您应该知道什么是DispatcherServlet? 它实际上是Spring MVC的心脏,确切地说是MVC设计模式或控制器的C语言. 应该由Spring MVC ...
- Spring Boot 针对 Java 开发人员的安装指南
Spring Boot 可以使用经典的开发工具或者使用安装的命令行工具.不管使用何种方式,你都需要确定你的 Java 版本为 Java SDK v1.8 或者更高的版本.在你开始安装之前,你需要确定你 ...
最新文章
- iOS开发-UIColor转UIIamge方法
- 哈哈哈哈哈哈!当前的人工智能有多智障?
- 【PC工具】大神开源项目-配色调色工具Colorpicker颜色选择器
- Java基础篇:String、StringBuffer、StringBuilder
- 如何将Jupyter Notebook连接到远程Spark集群并每天运行Spark作业?
- leetcode1502. 判断能否形成等差数列(小学生难度)
- Reddit热议:为什么PyTorch比TensorFlow更快?
- 95-136-042-源码-Operator-AbstractUdfStreamOperator
- java 多线程 day06 threadLocal
- NOX的使用之学习篇【三】
- 递归删除评论php,php如何递归删除文件
- 2010nbsp;贱语大全!
- IntelliJ IDEA 2018.2激活方法及常用快捷键
- python 函数说明_Pythonhelp()函数用法详解
- 《系统工程理论与实践》Latex 模板使用教程
- 微软ad域服务器 管理用户,威联通NAS助企业解决Windows AD域账户管理
- 5G手机开打价格战,4G手机将被加速淘汰
- 多功能网络侦查OSINT工具,FinalRecon
- 基于BIM+3DGIS物联网技术,如是实现智慧园区(楼宇)可视化管控平台的?
- Pillow图像处理(PIL.Image类的详细使用)