質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

1回答

3222閲覧

Springが提供しているサポートクラスについて

heavyuseman

総合スコア42

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2017/07/17 02:49

いつもお世話になっております。
Springが提供しているサポートクラスについて質問があります。
下記のようなSpringが提供しているサポートクラスを作成しました

java

1package com.tuyano.springboot.json; 2import org.springframework.context.annotation.Bean; 3import org.springframework.context.annotation.Configuration; 4import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; 5 6import com.fasterxml.jackson.databind.ObjectMapper; 7 8@Configuration 9public class JacksonConfigure { 10 @Bean 11 protected ObjectMapper objectMapper() { 12 return Jackson2ObjectMapperBuilder.json()..failOnEmptyBeans(true).indentOutput(true).build(); 13 } 14}

JSONとJavaオブジェクトを相互変換するために上記のようなサポートクラスを作成したのですが、いまいち使い方がわかりません。
上記のサポートクラスをどのようにして他のクラスに適用させたりして
JSONとJavaオブジェクトを相互変換したらいいでしょうか?

以上、宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Spring framwork管理下のクラスであれば、記述されたJacksonConfigureにて定義されたObjectMapperのインスタンスが取得できます。

例えばControllerクラスでもServiceクラスでも良いのですけれども、@Configurationで設定が完了していれば、

java

1@RestController 2@RequestMapping("/jackson") 3@Log4j2 4public class JacksonSampleController { 5 @Autowired 6 ObjectMapper objectMapper; 7 8 @GetMapping("/") 9 public List<SampleVO> index(@RequestParam String param ) { 10 11 List<SampleVO> samples = Arrays.asList(new SampleVO("nameA","1-2-3"), 12 new SampleVO("nameB","2-2-3"), 13 new SampleVO("nameC","3-2-3"), 14 new SampleVO("nameD","4-2-3"), 15 new SampleVO("nameE","5-2-3") 16 ); 17 18 try { 19 String json = objectMapper.writeValueAsString(samples); 20 log.info( json ); 21 } catch (JsonProcessingException e) { 22 // NOP - warning. 23 } 24 25 return samples; 26 } 27 28 @Value 29 class SampleVO { 30 private String name; 31 private String address; 32 } 33 34}

のように、@Autowiredでインスタンスを取得し、オブジェクトをJSONへパースすることもできます。

投稿2017/07/17 12:56

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

heavyuseman

2017/07/23 07:19

返信が遅れてしまい申し訳ありません。 詳細な説明を記載していただきありがとうございます。 サポートクラスという言葉を初めて聞いたため、 何か特殊な使い方をしないといけないのかと思っていたのですが、 おかげさまで他のファイルと同様に@Autowiredでインスタンスを取得し、 オブジェクトをJSONへパースすることができるということが理解できました‼︎
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問