---
title: SpringBoot 1.2でJersery (JAX-RS)を使う
tags: ["JAX-RS", "Java", "Jersey", "Spring", "Spring Boot"]
categories: ["Programming", "Java", "org", "springframework", "boot"]
date: 2014-10-11T11:50:52Z
updated: 2014-10-11T11:50:52Z
---
[Spring Boot 1.2.M2からJerseryサポートが含まれた](http://docs.spring.io/spring-boot/docs/1.2.0.M2/reference/htmlsingle/#boot-features-jersey)ので使ってみました。
基本的には、pom.xmlに以下のように`spring-boot-starter-jersey`を依存関係に追加するだけ。(当然GradleでもOK)
いままでSpring MVCで開発するときに指定していた`spring-boot-starter-web`の代替にすればOKです。
org.springframework.boot
spring-boot-starter-parent
1.2.0.M2
org.springframework.boot
spring-boot-starter-jersey
org.springframework.boot
spring-boot-maven-plugin
spring-milestones
Spring Milestones
http://repo.spring.io/milestone
false
spring-milestones
Spring Milestones
http://repo.spring.io/milestone
false
### エントリポイント
``` java
package com.example;
import org.glassfish.jersey.server.ResourceConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.stereotype.Component;
@EnableAutoConfiguration
@ComponentScan
public class App {
@Component
static class JerseryConfig extends ResourceConfig {
public JerseryConfig() {
packages(true, "com.example");
}
}
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
```
Jerseyの設定が必要っぽいです。
### リソースクラス
``` java
package com.example;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Component
@Path("hello")
public class Hello {
@Value("${hello.name:World}")
String name;
@GET
public String hello() {
return "Hello " + name + "!";
}
}
```
`@Component`でSpringの管理対象にすると諸々DIできるようになりました。ここでは`@Value`を使う例を挙げました。
あとは`App`を実行するだけ。`mvn package`で実行可能jarもできます。
「Spring Bootに興味があっても、Sprign MVCはちょっと・・・」って方に是非!って感じですね。
JAX-RSを使ってもSpring Bootのメリットを享受できます。
(Dropwizardはもはやオワコンなのでは・・・)
APサーバーをデフォルトのTomcatからJettyに変え、組み込みサーバーを使ったREST APIのテストサンプル付きの検証アプリを[Github](https://github.com/making/hello-spring-boot-jersey)に置いておきました。