领先一步
VMware 提供培训和认证来加速您的进步。
了解更多使用 JavaConfig 而不是 XML 的 Spring 应用程序变得越来越流行。今天,我们想向您展示最新 Spring Tool Suite 3.3.0 版本中的新功能,这些功能使您可以更轻松地使用注释和 JavaConfig 而不是 XML 来编写 Spring 应用程序。
假设您使用 Spring 和 JavaConfig 实现了一个 Web 应用程序。一种常见的做法是在一个基础的 @Configuration 类中定义应用程序中通用的基础 Spring 配置。这可能看起来像这样
@Configuration
@ComponentScan
class ApplicationConfig {
@Autowired private Environment env;
...
此外,您可能还有一个 Web 初始化程序实现,用于定义您的通用基础配置类作为根配置,以及另一个(可能是此 Web 初始化程序的内部类)用于 Web 应用程序特定配置
@Configuration
@Import(RepositoryRestMvcConfiguration.class)
@ComponentScan
public static class WebConfiguration extends WebMvcConfigurationSupport {
@Autowired Repositories repositories;
@Bean public DomainClassConverter domainClassConverter() {
return new DomainClassConverter<>(mvcConversionService());
}
...
Spring Tool Suite 现在提供了在项目首选项中将这些 @Configuration
类直接配置为 Spring 配置的选项
这与基于 XML 的 Spring 配置文件完全相同。您甚至可以为一个项目配置两者,但这似乎不是一个好的设计选择。如果您有 XML 文件作为 Spring 应用程序的入口点,这些文件使用 context:component-scan
元素来考虑 @Configuration
类,则您也不需要在项目设置中配置这些类。工具会自动识别它们。
在项目设置中配置了 @Configuration
类后,您可以在 Spring 资源管理器或项目资源管理器中浏览 Spring 模型。
### Bean 配置集 以相同的方式,您可以将 XML 配置排列到工具中的 Bean 配置集中(以将其排列到有意义的验证上下文中),您也可以选择将 JavaConfig 类添加到这些配置集中。
如果您使用多个 Bean 配置文件,这将特别有用。在这种情况下,您可以为每个配置文件配置一个配置集,以获取每个配置文件的验证。
### 简化 Spring 项目设置 从 3.3.0 版本开始,Spring Tool Suite 提供了一种更简单的方法来配置您的 Spring 项目以获得工具支持。有一些新的上下文菜单操作可以在项目设置中定义 @Configuration 类,再次删除它们,并将它们排列到 Bean 配置集中
Spring 工具在后台作为项目构建的一部分对您的 Spring 代码和 Spring 配置文件运行大量验证。如果您在项目设置中定义了 @Configuration 类,则这些验证也会针对这些配置运行。例如,这为您提供了针对 @Autowired 注释的验证。每当您在项目中没有定义在运行时将注入的匹配 Bean 时,工具都会将其标记为警告。
虽然 Eclipse 已经为许多情况提供了良好的内容辅助,但它不了解您用于配置 Spring 的注释的细节。但我们知道。因此,我们开始通过改进的内容辅助来支持特定于 Spring 的注释。作为起点,从现在开始,当您定义基本包和/或 basePackageType
属性时,您将获得 @ComponentScan 注释中类型名称和包名称的内容辅助。
我们将继续这项工作并添加更多此类支持。如果您希望看到此领域中实现了某些特定内容,请告知我们。欢迎您的反馈。
@Autowired
的导航Eclipse 提供了一个名为超链接的不错功能。如果您按住命令键并悬停在该元素上,它会将 Java 代码中的类名和各种元素变成超链接。我们增强了此快速导航功能,以便为 @Autowired
字段和参数提供对注入 Bean 的直接访问。这样,您可以直接跳转到注入到此 @Autowired
目标的 Bean 的 Bean 定义。
目前,您必须手动在项目设置中定义 @Configuration
类。这将在将来的版本中更改。我们正在努力实现该领域的自动化。此外,我们还研究了对 @Enable*
注释的高级支持。目标是提供有关由于这些注释而创建了哪些 Bean 的更多详细信息。
Spring Tool Suite 3.3.0 将基于 JavaConfig 的 Spring 项目作为一等公民来支持,我们希望您喜欢它。如果您有任何反馈,请随时与我们联系 在论坛上 或在我们的 STS 的 JIRA 中提交工单(不仅限于错误,也包括增强请求)。您的反馈始终非常受欢迎并且备受赞赏。享受 Spring Tool Suite 的新版本。