ので教えてください。
アプリケーションコンテキストを得るために
struts2とspringが連携していない場合は
ApplicationContext appContext=new ClassPathXmlApplicationContext("ApplicationContext.xml");
の1行でできますが、
struts2とspringが連携している場合は
ActionContext context=ActionContext.getContext();
Map<?, ?> map=context.getContextMap();
ServletContext application=(ServletContext) map.get(StrutsStatics.SERVLET_CONTEXT);
WebApplicationContext appContext=(WebApplicationContext)
application.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
の長文の4行になります。
勿論この場合は最初の方法も使えます。
struts2とspringを連携しないほうがspringを簡単に使えるように思います。
設定ファイルの記述やプログラムコードが長くなるのにもかかわらず、
敢てstruts2とspringを連携するメリットを教えてください。
No.2ベストアンサー
- 回答日時:
struts2(画面)->spring2.5(Business Logic)->Hibernate(Data Access Object)
なだけですよね?
それぞれが依存性がないPOJOで作成することができるため、
単体テストにおいて、テスト対象モジュール以外が未作成でも
テスト可能というのが最大のメリットです。
単純に考えると、
Business Logicにて複数のエンティティを同時に更新することがなければあまり重要となることはないですが、
バージョンアップやポーティング対応で
struts2を他の画面系Frameworkに、
Hibernateを他のData Access Object Frameworkに差し替えた場合に、
他の部品をを修正する必要がないため、
工数が削減できると考えられます。
ありがとうございます。
テストが簡単にできる
フレームワークやORマッピングの変更が用意になる
ということですね
フレームワークの変更は現実的でないと思いますが
開発規模が大きいとそれなりに大きくなりそうですね。
No.1
- 回答日時:
>>敢てstruts2とspringを連携するメリットを教えてください。
システム開発は、開発をしていく途上で、またリリース後に仕様が変わることが多いと思います。このとき、「ちょっとした軽微な修正が1カ所発生した!」ということがよくあります。その影響が予想外に、玉突き的に多くのモジュールに影響することもよくあると思います。
そのとき、JavaやJspのソースを何本もメンテする必要が発生するよりも、最初は作るのが大変でも「1カ所の修正はしょうがないが、連携しているので他のソースを修正しないでもいい」となれば嬉しいのではないでしょうか?つまり開発中やその後のメンテが楽になる(かもしれない)というメリットを狙っているのではないでしょうか。
ただ、個人的な印象では、例にあげられた1行を長ったらしい5行に置き換える価値はあるのか?プログラマ的に損得勘定としてどうなの?(センス悪ーい!)とか、「連携しているから、1カ所で済む修正が、さまざまな多数のモジュールの修正を逆に呼び込んで大変になるのでは?」なーんてJavaの初心者は思ってしまいますけどね。
ありがとうございます。
最初の環境設定、設定ファイル作成、初期のコードの記述
において多少導入が大変でも後は少し楽になり、メンテにも有利ということでしょうか。
大勢で開発しているや規模の大きいものを開発している場合は導入で苦労する人は一人であり苦労するのは開発期間からすればとるの足らないので
全体として導入コストはペイできるということですね。
逆にいえば
少人数、小規模でプログラミングする場合は連携するまでもないと言うことですね。
目的がSpring+Hibernateの機能でデータベースアクセスをDAOにより行うためだけならば連携をするまでもないですね。
有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPのクラスをコンパイルできな...
-
Eclipseでサーブレットを使用す...
-
HTTPS(SSL)通信とサーブレット...
-
tomcatの不具合
-
ApachePOIでエラー
-
Eclipseで、プロジェクト名のと...
-
html上で、バッチやexeファイル...
-
split関数で区切り文字がない場合
-
classファイルについて
-
マイクラjavaでForgeを入れたい...
-
正しいURL指定しているにもかか...
-
.jarファイルの中身って書き換...
-
javaクラスファイルをEclipseで...
-
JSPからServletへの遷移
-
eclipseでスタックサイズを変更...
-
Eclipse3.5EEでJavaのコンパイ...
-
Jarコマンドでマニフェストファ...
-
GRAPHS32.OCX
-
SVFの設定について:クラスパス...
-
earファイルを展開する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPのクラスをコンパイルできな...
-
自分で作成したservletを起動す...
-
eclipseでTomcat起動時にエラー...
-
isapi_redirect.dllのダウンロード
-
ApachePOIでエラー
-
jspプログラムについて
-
IISとローカルと別サーバのTomc...
-
Eclipseでサーブレットを使用す...
-
tomcatの不具合
-
javax.servlet.ServletExceptio...
-
apache2.2-tomcat6.0の連携のエ...
-
No collection foundと出てしま...
-
Tomcatが起動できない
-
非同期xmlhttprequestでのポー...
-
strutsでトップページアクセス...
-
jsp:useBean の使い方???
-
servletについて
-
POIの導入
-
tomcatとapacheを何で一緒に使...
-
Tomcat5.0.30とApache2.2.3の連...
おすすめ情報