摘要:结构化你的代码不需要任何特定的代码布局来工作,然而有一些最佳实践可以提供帮助。我们建议你遵循推荐的包命名约定和使用反向域名例如,。
14. 结构化你的代码
Spring Boot不需要任何特定的代码布局来工作,然而有一些最佳实践可以提供帮助。
14.1 使用“default”包当一个类不包含package声明时,它被认为是在“default package”中,使用“default package”通常是不鼓励的,应该避免使用,它可能会导致使用@ComponentScan、@EntityScan或@SpringBootApplication注解的Spring Boot应用程序的特殊问题,因为每个jar的每个类都被读取。
我们建议你遵循Java推荐的包命名约定和使用反向域名(例如,com.example.project)。14.2 定位主应用程序类
我们通常建议你在其他类之上的根包中定位主应用程序类,@SpringBootApplication注解通常放在主类上,它隐式地为某些项定义了一个基本的“搜索包”。例如,如果你正在编写一个JPA应用程序,则使用@SpringBootApplication注解类的包来搜索@Entity项,使用根包也允许组件扫描只应用于你的项目。
如果你不想使用@SpringBootApplication,那么@EnableAutoConfiguration和@ComponentScan注解将定义该行为,因此你也可以使用它。
下面的清单展示了一个典型的布局:
com +- example +- myapplication +- Application.java | +- customer | +- Customer.java | +- CustomerController.java | +- CustomerService.java | +- CustomerRepository.java | +- order +- Order.java +- OrderController.java +- OrderService.java +- OrderRepository.java
Application.java文件将声明main方法,以及基本的@SpringBootApplication,如下所示:
package com.example.myapplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }上一篇:构建系统 下一篇:自动配置
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/69611.html
摘要:参考指南使你可以轻松地创建可运行的独立的生产级的基于的应用程序,我们对平台和第三方库有自己的看法,这样你就可以以最低限度工作开始了,大多数应用程序都需要很少的配置。文档本节简要概述了参考文档,它充当文档其余部分的映射。 Spring Boot 参考指南 Spring Boot使你可以轻松地创建可运行的独立的、生产级的基于Spring的应用程序,我们对Spring平台和第三方库有自己的看...
摘要:许多配置示例已经在上发布,它们使用配置。逐渐取代自动配置自动配置非侵入性,在任何时候,你都可以开始定义自己的配置来替换自动配置的特定部分。最后,你还可以通过使用属性来控制要排除的自动配置类的列表。 15. 配置类 Spring Boot支持基于java的配置,虽然可以使用XML源的SpringApplication,但是我们通常建议你的主源是一个@Configuration类。通常,定...
摘要:开发你的第一个应用程序本节描述如何开发一个简单的应用程序来突出了的一些关键特性,我们使用来构建这个项目,因为大多数都支持它。如果你希望分发一个自包含的应用程序,这可能会有问题。 11. 开发你的第一个Spring Boot应用程序 本节描述如何开发一个简单的Hello World! web应用程序来突出了Spring Boot的一些关键特性,我们使用Maven来构建这个项目,因为大多数...
摘要:在创建之前,实际上触发了一些事件,因此不能将侦听器注册为。使用的事件发布机制发送应用程序事件,该机制的一部分确保在子环境中发布给侦听器的事件也会在任何祖先上下文中被发布给监听器。 23. SpringApplication SpringApplication类提供了一种方便的方法来引导从main()方法开始的Spring应用程序。在许多情况下,你可以委托给静态SpringApplica...
摘要:构建系统强烈建议你选择一个支持依赖管理的构建系统,并且可以使用发布到中心存储库的工件。例如,要升级到另一个,你可以将以下元素添加到你的在前面的示例中,我们指定了一个,但是任何依赖类型都可以以相同的方式被覆盖。 13. 构建系统 强烈建议你选择一个支持依赖管理的构建系统,并且可以使用发布到Maven中心存储库的工件。我们建议你选择Maven或Gradle,可以让Spring Boot与其...
阅读 2542·2021-10-11 10:58
阅读 1129·2021-09-29 09:34
阅读 1429·2021-09-26 09:46
阅读 3809·2021-09-22 15:31
阅读 705·2019-08-30 15:54
阅读 1444·2019-08-30 13:20
阅读 1240·2019-08-30 13:13
阅读 1472·2019-08-26 13:52