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的主要内容,如果未能解决你的问题,请参考以下文章
云原生SpringCloud-Spring Boot Starter使用测试
如何在不从 spring-boot-starter-web 继承的情况下在 Spring Boot 中获取 ObjectMapper 实例?