eclipse 下创建spring starter project

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse 下创建spring starter project相关的知识,希望对你有一定的参考价值。

参考技术A 一.在eclipse下安装 spring tool suite插件:

    1.help→eclipseMaketplace..→搜索sts.

    2.安装插件,安装不成功的话,降低eclipse版本(2018-12,亲测能有)

 1 选择spring starter project 进行项目的创建,并点击next到下一步

2 修改项目名称name 和 spring boot的版本,其他项都可以选择默认

这里可以选择next,也可以选择finish。如果选择next按钮,则会看到步骤3的界面;如果选择finish按钮,则直接跳到步骤4界面。

3 这里可以选择工作空间等,我们都选择默认空间即可,点击finish到下一步

4 这里我们会得到一个spring boot 的项目的简单结构

这时,eclipse一般会自动的进行项目的构建,加载支撑jar包等,得到步骤6的结果;如果eclipse未自动构建项目,则需要手动进行项目构建,参照步骤5进行操作。

5 点击项目名称,右键 选择 Maven ,选择 Update Project... ,勾选 Force Update of Snapshots/Releases项, 并点击OK按钮。

然后,项目会进入到更新的过程中,期间可以看到类似如下的更新进度条

6 待项目更新完成后,我们可以看到一个完整的spring boot 项目

如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?

【中文标题】如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?【英文标题】:How can I get an ObjectMapper instance in Spring Boot without inheriting from spring-boot-starter-web? 【发布时间】:2017-12-02 03:05:18 【问题描述】:

我正在使用 Spring Boot 2.0.0M2,试图创建一个 CLI 应用程序,而不是 Web 应用程序。我的问题是,即使包括

  compile 'org.springframework.boot:spring-boot-starter'
  compile 'org.springframework.boot:spring-boot-starter-json'

在我的构建中,ObjectMapper 不是由 Boot 创建的,因为

Bean method 'jacksonObjectMapper' not loaded because @ConditionalOnClass did not find required class 'org.springframework.http.converter.json.Jackson2ObjectMapperBuilder'

当您想要拥有 Spring Boot 实例并配置 Jackson 但不想启动 Web 服务器时,最佳做法是什么?

【问题讨论】:

你不能只添加罐子吗? Configuring ObjectMapper in Spring的可能重复 问题是,Spring Boot 自动配置ObjectMapper,它可以通过几个有据可查的配置属性进行调整。如果我按照另一个问题的建议创建ObjectMapper,如果我没记错的话,所有这些都应该手动完成。 没有 web starter 的 Spring boot 不会初始化 ObjectMapper。这很愚蠢,他们打算你不会在 HTTP 之外使用 JSON:github.com/spring-projects/spring-boot/issues/10031 【参考方案1】:

如果您想避免包含完整的 Web 堆栈(自 Spring Boot v.2.0.0M4 起),您可以添加 spring-boot-starter-json

【讨论】:

这对我有用。谢谢你。最佳解决方案是否向前推进?【参考方案2】:

你为什么不自己初始化呢。

@Bean
ObjectMapper objectMapper() 
    return new ObjectMapper();

【讨论】:

我的问题是,正如我在之前的评论中所说,Spring Boot 自动配置 ObjectMapper 具有几个有据可查的配置属性。如果我自己实例化,如果我没记错的话,所有这些调整都会丢失。 是的,您需要手动完成,但这并不难,并且查看Jackson2ObjectMapperBuilder 的源代码似乎没有设置任何默认值。它确实会自动检测一些知名模块,但手动添加它们并不难。如果你真的想要,你可以将 java 复制到你的代码中,它是 ASL2,但我只会使用我自己的对象包装器。 但这应该可以通过使用@Autowired ObjectMapper objectMapper 来实现。如果我们自己初始化它,这不会是一个聪明的解决方案吧?【参考方案3】:

您可以尝试添加 org.springframework:spring-web 依赖项,因为该类位于其中。

【讨论】:

但是如果这只是一个java应用而不是web应用,我该怎么办呢? github.com/spring-projects/spring-boot/issues/10031 对此有一些背景和理由。

以上是关于eclipse 下创建spring starter project的主要内容,如果未能解决你的问题,请参考以下文章

初入Spring-boot

云原生SpringCloud-Spring Boot Starter使用测试

如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?

springboot中starters 提供的常用的依赖

在 STS 中创建 spring starter 时 POM.xml 出错

Spring Boot - 手把手教小师妹自定义Spring Boot Starter