RESTEasyを使用したJAX-RSに基づく既存のMavenプロジェクトがあります。それは素晴らしい作品です! Ubuntu上で動作するTomcatに展開するWARを作成します。それは清潔で最新の基準に従います。 POMは単純です:既存のRESTEasy JAX-RSアプリケーションにSpring(Boot?)を追加する
...
<packaging>war</packaging>
...
<dependencies>
...
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>3.1.0.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>3.1.0.Final</version>
</dependency>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
...
私は最新のJava EEのアノテーションを使用していますので、私はどんなweb.xml
を必要としない:
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/")
public class MyRESTApplication extends Application {
final FooResource fooResource = new FooResourceService();
...
@Override
public Set<Object> getSingletons() {
return ImmutableSet.of(fooResource);
}
}
これはすべての単純であり、それはとても素晴らしい働いています!今度は、プロファイルに基づいてFooResourceの実装を簡単に変更する方法が必要です。つまり、私のシングルトンを配線してください。それが春が来る場所です。 Spring BootはSpringをもっと素晴らしいものにしてくれると言われています。何にでも使うことができ、システムの健全性をリアルタイムで得ることができるアクチュエータを提供します。
残念なことに、すべてのSpring Bootの書籍とチュートリアルは、クイックスタートアプリケーションから始めると思います。しかし私はすでに素晴らしい、単純なアプリケーションを持っています。
- プロファイルに基づいて、Spring経由で外部設定ファイル(注釈ではない)からアプリケーションの配線を取得します。
- 春のブートから得られる他の何かを得るには、明らかに素晴らしいですし、私のアプリケーションを完全に変えるでしょう。
この小さなJAX-RSアプリケーションにSpring(またはSpring Boot)を追加するにはどうすればよいですか?