2016-05-17 18 views
0

私はここに投稿する前に多くの研究をしていました。私は新しいSpring Bootプロジェクトを作成し、構造体...または、現在のmavenマルチモジュールSpring MVC RESTfulプロジェクトをSpringBootに変換する必要がありますか?マルチMavenモジュールSpring MVCプロジェクトからSpringブート

Dockerを使用する方が簡単かもしれないので、Springブートプロジェクトが必要です。 本当に、このSpring MVC RESTfulバックエンドをDockerコンテナに入れたいと思っていますが、私たちが見つけたすべての例はSpringBootとDockerの使用に関係しています。

ので、このプロジェクトは、このような構造を有する:

parent pom.xml 
    Entity 
    - basic Spring Project with Hibernate entities 
    - has a myproject-entity-context.xml as the Spring application context 
    - has the database and transactions configured in the context 
    - translates to a JAR file 
    - has its own pom.xml and can be built independently 
    DAO 
    - basic Spring project with Data Access crud Objects 
    - has it's own myproject-dao-context.xml file 
    - inherits from the myproject-entity-context.xml 
    - pulls in the myproject-entity.jar file in the pom.xml 
    - translates to a JAR file 
    - has its own pom.xml so this DAO can be built provided the entity.jar is built 
    - obviously this layer does all the database work 
    - very much init tested 
    Service (Business Services) 
    - basic Spring project with Transactional Business Services 
    - one business service can call mutltiple DAO's 
    - has it's own myproject-service-context.xml file 
    - inherits from the myproject-dao-context.xml 
    - pulls in the myproject-dao.jar file in the pom.xml 
    - translates to a JAR file 
    - has its own pom.xml so this Service can be built, provided the DAO is built first 
    - obviously this layer does all the business services work 
    - very much init tested 
    Web-Services 
    - basic Spring Web-App project that compiles to WAR 
    - has all the Controllers which stores all the endpoints 
    - has it's own myproject-ws-context.xml file 
    - inherits from the myproject-service-context.xml 
    - pulls in the myproject-service.jar file in the pom.xml 
    - translates to a WAR file 
    - has its own pom.xml so these Web-Services can be built, provided the myproject-service.JAR is built first 
    - obviously this layer does all RESTful end-points which call 1 business service 
    - very much init tested 

当社のSpring MVCのRESTfulなバックエンドも春のEnvのプロファイルを使用して、我々は外部env.propertiesファイルを読み込みつのプロファイルを持っています。

また、Spring Security 4.0を使用してRESTfulエンドポイントを保護します。

このアプリをDockerコンテナに入れたいですか?しかし、すべてのドキュメントはSpring Bootで動作するので、この既存のプロジェクトにSpring Bootを追加することはできますが、どうすればよいかわかりません。新しいSpring Bootプロジェクトを開始して既存のコードを取り出す方が簡単かもしれませんそれを新しいSpring Bootプロジェクトに入れてください。私は簡単ではないか、それとも難しいのですか?

このアプリをDocker Containerに入れるにはSpring Bootが必要なのでしょうか?

私が必要な場合は、私が必要としているように、ここに情報を追加することができます。

ありがとうございます!

答えて

2

Dockerコンテナにアプリケーションを展開するためにSpringブートは必要ありません。あなたが従うことができるいくつかの戦略があります。

あなたの.warアーティファクトはネクサスリポジトリに展開している:CONTAINER(最も一般的) TO BINARIESをDOWNLOADING

。そこから、サーバー・イメージから、アーティファクトをダウンロードし、サーバーのデプロイメント・フォルダーに保管します。 CONTAINER(面倒)内のバイナリを生成

FROM tomcat 

EXPOSE 8080 

RUN curl -H 'Cache-Control: no-cache' -f http://${NEXUS_REPOSITORY_URL}?r=${REPOSITORY}&g=${GROUP_ID}&a=${ARTIFACT}&p=war&v=${VERSION} -o /usr/local/tomcat/webapps/ROOT.war 

CMD ["catalina.sh", "run"] 

Tomcatのについて

FROM jboss/wildfly 

EXPOSE 8080 

RUN curl -H 'Cache-Control: no-cache' -f http://${NEXUS_REPOSITORY_URL}?r=${REPOSITORY}&g=${GROUP_ID}&a=${ARTIFACT}&p=war&v=${VERSION} -o /opt/jboss/wildfly/standalone/deployments/ROOT.war 

:例えば

Wildfly
にあなたはこのような何かを行うことができ

あなたはapt --get gitを実行し、リポジトリブランチ(マスタ、タグなど)をチェックアウトし、mvnパッケージを作成してwarを生成し、最後に展開ファイルにコピーします。

+0

ありがとうございました。 "あなたが従うことができる多くの戦略があります..."残念ながら、私はそれらの戦略が何であるか、そしてその戦略のプロ/コンが何であるかを知らない。私はそれが文書化されている場所を見つけようとしています、そして、私は多くの運がなかった。だから、私はDockerについてもっと知識を深めようとするために、私のローカルエリアでかなりのドッカーの会合に行くつもりです。助けてくれてありがとう。 – tjholmes66

関連する問題