专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
51好读  ›  专栏  ›  OSC开源社区

Spring Boot 中文文档(二)(官方文档翻译 基于1.5.2.RELEASE)

OSC开源社区  · 公众号  · 程序员  · 2017-04-12 08:37

正文

请到「今天看啥」查看全文


13.4 Ant

可以使用Apache Ant + Ivy构建Spring Boot项目。 spring-boot-antlib“AntLib”模块也可用于帮助Ant创建可执行文件。

要声明依赖关系,典型的ivy.xml文件将如下所示:

典型的build.xml将如下所示:

请参见 第84.10节“从Ant构建可执行存档,而不使用spring-boot-antlib” 如果不想使用spring-boot-antlib模块,请参阅“操作方法”。


13.5 启动器

启动器是一组方便的依赖关系描述符,可以包含在应用程序中。 您可以获得所需的所有Spring和相关技术的一站式服务,无需通过示例代码搜索和复制粘贴依赖配置。 例如,如果要开始使用Spring和JPA进行数据库访问,那么只需在项目中包含spring-boot-starter-data-jpa依赖关系即可。

启动器包含许多依赖关系,包括您需要使项目快速启动并运行,并具有一致的受支持的依赖传递关系。

What’s in a name

所有正式起动器都遵循类似的命名模式: spring-boot-starter- ,其中 是特定类型的应用程序。 这个命名结构旨在帮助你快速找到一个启动器。 许多IDE中的Maven插件允许您按名称搜索依赖项。 例如,安装Eclipse或STS的Maven插件后,您可以简单地在POM编辑器中点击 Dependency Hierarchy,并在filter输入“spring-boot-starter”来获取完整的列表。 如 创建自己的启动器 部分所述,第三方启动程序不应该从Spring-boot开始,因为它是为正式的Spring Boot artifacts 保留的。 acme 的 第三方启动器通常被命名为acme-spring-boot-starter。

Spring Boot在org.springframework.boot组下提供了以下应用程序启动器:

表13.1. Spring Boot应用程序启动器

除了应用程序启动器,以下启动器可用于添加 生产准备(production ready) 功能:

表13.2 Spring Boot生产环境启动器

最后,Spring Boot还包括一些启动器,如果要排除或替换特定的技术,可以使用它们:

有关社区贡献的更多启动器的列表,请参阅GitHub上的spring-boot-startters模块中的 README文件


14

构建代码

Spring Boot不需要任何特定的代码组织结构,但是有一些最佳实践可以帮助您。


14.1 不要使用“default”包

当类不包括包声明时,它被认为是在“默认包”中。 通常不鼓励使用“默认包”,并应该避免使用。 对于使用@ComponentScan,@EntityScan或@SpringBootApplication注解的Spring Boot应用程序,可能会有一些特殊的问题,因为每个jar的每个类都将被读取。

我们建议您遵循Java推荐的软件包命名约定,并使用反向域名(例如,com.example.project)。


14.2 查找主应用程序类

我们通常建议您将应用程序主类放到其他类之上的根包(root package)中。 @EnableAutoConfiguration注解通常放置在您的主类上,它隐式定义了某些项目的基本“搜索包”。 例如,如果您正在编写JPA应用程序,则@EnableAutoConfiguration注解类的包将用于搜索@Entity项。

使用根包(root package)还可以使用@ComponentScan注释,而不需要指定basePackage属性。 如果您的主类在根包中,也可以使用@SpringBootApplication注释。

这是一个典型的布局:

Application.java文件将声明main方法以及基本的@Configuration。


15

配置类

Spring Boot支持基于Java的配置。虽然可以使用XML配置用SpringApplication.run(),但我们通常建议您的主source是@Configuration类。 通常,定义main方法的类也是作为主要的@Configuration一个很好的选择。

许多使用XML配置的Spring示例已经在网上发布。 如果可能的话我们建议始终尝试使用等效的基于Java的配置。 搜索 enable* 注解可以是一个很好的起点。


15.1 导入其他配置类

您不需要将所有的@Configuration放在一个类中。 @Import注解可用于导入其他配置类。 或者,您可以使用@ComponentScan自动扫描所有Spring组件,包括@Configuration类。


15.2 导入XML配置

如果您必须使用基于XML的配置,我们建议您仍然从@Configuration类开始。 然后,您可以使用的@ImportResource注释来加载XML配置文件。


16

自动配置

Spring Boot 会根据您添加的jar依赖关系自动配置您的Spring应用程序。例如,如果HSQLDB在您的类路径上,并且您没有手动配置任何数据库连接bean,那么我们将自动配置内存数据库。

您需要通过将@EnableAutoConfiguration或@SpringBootApplication注解添加到您的一个@Configuration类中来选择自动配置。

您应该只添加一个@EnableAutoConfiguration注解。 我们通常建议您将其添加到主@Configuration类中。


16.1逐渐取代自动配置

自动配置是非侵入式的,您可以随时定义自己的配置来替换自动配置。 例如,如果您添加自己的 DataSource bean,则默认的嵌入式数据库支持将会退回。

如果您需要了解当前有哪些自动配置,以及为什么,请使用--debug开关启动应用程序。 这将启用debug日志,并将自动配置日志记录到控制台。


16.2 禁用指定的自动配置







请到「今天看啥」查看全文


推荐文章
十点读书会  ·  现在的年轻人都在想什么
8 年前
视觉艺术摄影  ·  等一个人,陪我去西藏!
8 年前
经典微小说  ·  我不怕变成自己厌恶的人
8 年前