天天看点

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

作者:解道Jdon

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

弹簧 DI:构造注入优先于场和二极管注入

JavaBeans 字段和 setter 方法注入很难测试,容易出现循环依赖关系,对可变性非常开放,而 Setter 注入会导致样板代码。最好的解决方案是使用构造函数注入,这是Spring官方推荐的。使用此方法可以轻松使变量不可变。随着构造函数的增长,很容易检测到依赖关系的增长。

忘记基于 XML 的配置

现在强烈反对基于XML的Spring应用程序配置。基于 XML 的配置可能会导致同义词代码非常冗长,因此在 IDE 中读取和搜索非常困难。最好的方法是使用代码中嵌入的基于注释的配置。程序员很容易掌握它,并且更具可读性。

不正确的测试

测试基于 Web 的 Spring 应用程序经常被忽视。很少有团队通过复杂的集成测试对Spring Boot应用程序进行了广泛的测试。确保开发团队了解Spring测试框架提供的测试功能的强大功能。

不要从头开始手动构建新应用程序

许多传统程序员更喜欢完全控制他们的应用程序。因此,他们尝试手动构建pom文件并从头开始构建应用程序。Spring附带Spring Initializr,这是一个易于使用且方便的工具,可以创建具有正确依赖项选择和正确结构的Spring Boot应用程序。这是从Spring正式构建新应用程序的推荐方法。当前的IDE,如Eclipse Intellij,具有Spring Initializr的第三方插件。

没有好的日志

糟糕的日志记录是每个软件产品都头疼的问题。特别是当生产错误发生时。不正确的日志记录使每个开发人员都很难,因为他或她盲目地寻找根本原因。LogBack 是一个功能强大的插件,因此请务必正确使用它。

不要将 Spring 集成到您的核心业务逻辑中

RC Martin 的名著《Clean Architecture》指出,业务逻辑代码不应受到任何第三方框架、数据库或 UI 的影响。如果域没有框架,那么如果框架消失,核心业务代码明天将没有技术债务。因此,Domain类不应该有任何Spring的注释,如@Component,@Autowired@Service,而是一个传统上实例化的简单Java类。

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