【DI】Java Spring Frameworkを語るスレ 5.0

2011/11/28(月) 02:17:11.86
前スレ
http://hibari.2ch.net/test/read.cgi/tech/1227196176/

公式
ttp://www.springframework.org/
2012/03/14(水) 20:10:54.75
エラーの情報しかないから、ゼロコンフィグに近い想定でパッと
思いつく限りだと下の二つのどちらか。

1.controller.test.ItemControler.java のクラス名を TestItemController
(適当な名前でも良いけど)に変えて
クラスのアノテかハンドルメソッドで
@RequestMapping("/test/item/")を定義する。

2.mvc:annotation-driven の利用をやめて、xmlでマッピングする。
2012/03/15(木) 11:08:17.49
web.xml の <servlet-mapping> について教えていただけますか。

今RESTUrlでの設計を行っているのですが、特定のパータンやすべての
リクエストをservlet-mappingで拾うためアスタリスクを使用しているのですが、
アスタリスクで指定してもマッピングされません・・・。

URL(とりあえず以下のようなURLが拾えるようになってほしいのですが。
@ http://<;domain>/<appname>/admin/login.html
A http://<;domain>/<appname>/admin/aaa
B http://<;domain>/<appname>/admin/aaa/1


■@ だけ動作する
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>

■すべてダメ
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>/admin/*</url-pattern>
</servlet-mapping>

■すべてダメ
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

Strutsではアスタリスクは問題なく使えた気がするのですが。。。
2012/03/15(木) 11:10:05.60
Urlがまちがってました。
/adminではなく/rest001です。
2012/03/15(木) 11:19:13.40
勘違いでした
72は無視してください

>>72
> Urlがまちがってました。
> /adminではなく/rest001です。
2012/03/16(金) 01:30:10.33
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
俺個人は、アスタは*.htmlとかfilter-mappingにしか使わん。
2012/03/16(金) 11:20:39.34
ていうか、そもそもサーブレットの仕様も分からんし、
(ハンドリングがちゃんと出来てるか)
バグってないかも分からんし、
applicationContextに相当するもんの設定が正しいかも分からんし、
springコンポーネントが利用されているかどうかも分からん。
2012/03/21(水) 17:17:30.71
>>69 とか
>>71 のゆとりはいますぐstruts1.xのプロジェクトに戻るんだ。
77sage
垢版 |
2012/04/02(月) 21:22:04.84
>>70さん

自分も以前に同様の事象に困っていて、>>70さんの提示している@案で対応しましたが
この同一コントローラー名のエラーに関しては、設定如何で回避できるものなのでしょうか?

モデルとコントローラのクラス名称をできるだけ同じにしたいので、設定で
できるのであれば、今後の開発の時に試してみたいです。
78sage
垢版 |
2012/04/05(木) 18:30:13.29
1つの画面で複数のレコード分のデータを入力したデータを
POSTして、サーバ側でList型の形式で受け取ることはできるのでしょうか?

ModelAttributeとか使えばいけそうな気がするのですが・・・。

Bean - List - Bean 見たいな形式にすればいけるかとも思ったのですが
こちらもうまくいかず・・・。
2012/04/06(金) 01:15:58.08
>>77
だから「springの法則に従った正しい規約」で
運用すんなら、アノテと標準的なアクション用のxmlで
ほぼセロコンフィグで済むんだって。

そうじゃないことするんだから、アノテをやめたらどうなんだい?
って書いてると思うだが?
2012/04/07(土) 00:20:59.16
>>78
こういうこと?
ttp://viralpatel.net/blogs/2011/12/spring-mvc-multi-row-submit-java-list.html
2012/04/26(木) 11:29:20.13
spring3.0の情報どこかに載ってないですか?
2012/04/26(木) 11:47:41.96
3.0?数年前から山ほどあるよね?
2012/04/26(木) 15:50:02.19
ないよ
2012/04/26(木) 15:57:35.62
これが必要にして十分な情報。

Spring Framework
Reference Documentation
3.1
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/

これ以外は必要無い。
2012/04/27(金) 03:03:19.11
英語のサイトしかないの?
2012/04/27(金) 11:20:18.83
英語だろうがなんだろうが、あるかないかで言えば「ある」
英語読めないなら、古い情報で我慢しておけばいいだけ

もっとも、探せば日本語の情報も断片的なものがかなりの量存在するから
自分の必要なものを集めてまとめておけばいいよ
2012/05/06(日) 09:39:47.04
Spring 3.0 MVCのサンプルコードどこかに載っていませんか?
コントローラでDBから取ってきたデータをどうやってVIEWに渡すのか知りたいのです。
88デフォルトの名無しさん
垢版 |
2012/05/11(金) 01:45:35.85
Spring 3 MVC で、Form の複合チェックをするにはどうしたらいいでしょうか?

Form クラスのフィールドに @NotEmpty とか @Size(min = 1, max=50) とか
つけますが、単項目チェックなら、以下のページのサンプルのように出来ます。
http://www.roseindia.net/tutorial/spring/spring3/web/spring-3-mvc-login-example.html

複合チェックをしたかったら、いまは Controller クラスのなかで
ばりばりチェックロジックを書いてしまっているのですが、

Spring 3 の正しいやり方としては以下のように、Validation クラスを作って、
Controller クラスで @Autowired して、validate() メソッドを呼べばいいのですか?
http://www.roseindia.net/tutorial/spring/spring3/web/spring-3-mvc-registration-example.html

Spring2 の MVC の経験者(その人はSpring3 はやってない)に聞いたところ、
だいたいこんな感じだったそうですが・・・
2012/05/14(月) 21:04:19.64
自分もSpring3 MVCで作り始めたけど、ModelMapに値詰めて返してTitlesとか使って描画っていう
やりかただと、Web画面側のデザイン面での制約がけっこう大きいと気がついて結局、
Web画面とサーバ側の通信はJSONのみ、
Spring側は、DBとモデルオブジェクトのマッピング、ControllerでJSONデータのハンドリングやらせて
あんまりSpring MVC使う意味が無くなってるかも。。。

validationは、画面側でjQueryのプラグイン使ってやらせてる。
validation条件の変更とか、全部JavaScript側でできるし。

DBとモデルオブジェクトのマッピングと、Controllerだけ使うような場合って
利用するSpringのjarのミニマムの組み合わせってどんなんだろう?
2012/05/15(火) 00:02:47.29
>>89
Titles じゃなくて Tiles のことだよね?
2012/05/15(火) 00:48:29.02
>>90
そうだった。タイプミス。正しくはTilesだよね。
92デフォルトの名無しさん
垢版 |
2012/05/17(木) 18:30:38.91
SpringMVCのModelAndView について質問があります。
Spring2でSpringMVCをやっていたときは、Controller クラスのなかで、

 ModelAndView mav = new ModelandView();
 mav.setViewName("/foo/bar/hoge.jsp");
 return mav;

みたいに、ModelAndViewクラスのインスタンスをreturnしていました。

一方Spring3 の MVC のサンプルをいくつか見てみると(たとえば以下)
http://blog.springsource.com/2011/01/04/green-beans-getting-started-with-spring-mvc/

Controllerクラスの、リクエストを処理するメソッドの返却値はStringで、
遷移したいview名を文字列でそのまま返すようになっていて、

 上記ページの例:
 return "home";

もしJSPに何か値を渡したかったら、Modelクラス(org.springframework.ui.Model)が渡ってくるから
そいつに model.setAttribuite("output", output);
というようにしてあげれば、JSP側で値が取得されるみたいなんだけど、
Spring3 からは、Controller クラスの返却値はStringとなるように作る、という理解でよいでしょうか?
2012/05/19(土) 14:58:14.71
設計次第
2012/06/03(日) 16:23:02.11
>>1
Java用Webアプリケーションフレームワークの総合スレ立てた

【Java】 Java Web Application Framework 総合
http://toro.2ch.net/test/read.cgi/tech/1338707919/
2012/07/22(日) 22:19:40.13
ファクトリーメソッドに対する大根のメリットってなんぞ?
96デフォルトの名無しさん
垢版 |
2012/08/12(日) 14:04:14.63
SE
http://www.seprogrammerjobs.com/com_detail.php?v_id=2487
97デフォルトの名無しさん
垢版 |
2012/08/12(日) 14:05:35.93
要件定義
98デフォルトの名無しさん
垢版 |
2012/09/02(日) 01:29:26.44
Spring MVCの@RequestMappingで、URLパスでパラメータを渡す際に、

@RequestMapping(value="/select/{address}", method = RequestMethod.GET)
public void selectAddress(@PathVariable("address") String companyAddress)
とか書いて、

URLパスは
http://localhost:8080/select/東京都/
てな感じでアクセスすると、東京都が文字化けする。
半角英数字の場合は問題ない。
日本語の場合は、

new String(companyAddress.getBytes("ISO_8859_1"),"UTF-8");

ってやるととりあえず取得できるんだけど、こういうもんかね??
2012/09/02(日) 22:12:29.21
某自動車メーカーに派遣言ったことあるけど、
StrutsとSpring掛け合わせたフレームワーク使ってた。
100デフォルトの名無しさん
垢版 |
2012/09/02(日) 22:31:36.11
掛けあわせたというより、オフィシャルの配布物に
org.springframework.web.struts-3.1.2.RELEASE.jar
ってのがあるくらいだ
2012/09/05(水) 15:47:20.92
>>98
サーブレットコンテナの方の設定じゃねーの
Tomcat なら server.xml の URIEncoding とか useBodyEncodingForURI とか
2012/09/05(水) 16:06:51.86
>>98
そういうもんと思っておいたほうがいい
デフォ設定で動くほうが面倒が少ないよ
2012/09/09(日) 01:03:41.45
>>101>>102
ありがとう。そういうもんかぁ。。。
まぁ解決方法はある(getBytes)ので作業が止まることはないんだけど
とりあえずserver.xml見なおしてみる。

そういえば、REST形式で@PathVariableに特定の日本語文字が入ると
これまたリクエストURLのマッピングに失敗するみたい。
「入」とかの感じでエラーになる。
POSTやGETで普通にパラメータ渡せばいいんだけど。。。
104デフォルトの名無しさん
垢版 |
2012/10/14(日) 16:39:26.90
他の言語にもDIコンテナがほしい。
2012/10/22(月) 02:41:47.89
autowire と component-scan を組み合わせて使おうとするとインターフェースのインジェクションが出来ないんだが
2012/10/25(木) 18:04:24.56
component-scanで思い出した。
SpringMVCとSpring-myBATISで組んるけど、
1機能に対してmodel、service、mapperなど毎にフォルダが分けられる。
これを、1機能1フォルダ内に、model、service、mapperを全部入れて
それをscan時に認識できるような設定方法って無いのかな。。。
2012/12/08(土) 12:17:07.03
ROOを実案件で使っている人はいませんか?
108デフォルトの名無しさん
垢版 |
2012/12/09(日) 07:52:48.90
ROOは実案件に投入できるかどうか軽く検証したけど
アプリを業務に併せてカスタムする傾向が強い
日本の業務アプリ開発には向かないという結論で
SpringMVCでいくことになった
109デフォルトの名無しさん
垢版 |
2013/03/12(火) 08:53:26.55
でもこの差は何なんだろうね。
http://www.google.co.jp/trends/explore#q=Hibernate%2C%20MyBatis%2C%20JDBC&;geo=JP&date=today%2012-m&cmpt=q
http://www.google.co.jp/trends/explore#q=Hibernate%2C%20MyBatis%2C%20JDBC&;date=today%2012-m&cmpt=q

日本ではHibernateを使いにくい特殊事情でもあるのかな。

こんなのも。
http://www.google.co.jp/trends/explore#q=Maven%20Java%2C%20Ant%20Java&;date=today%2012-m&cmpt=q
http://www.google.co.jp/trends/explore#q=Maven%20Java%2C%20Ant%20Java&;geo=JP&date=today%2012-m&cmpt=q
2013/03/12(火) 23:06:24.13
Hibernate、学習コスト含めて重量級な印象なんだよな。
まだMyBATISのほうが低レベルで透過性が高い感じがする。
2013/03/12(火) 23:19:35.24
struts、spring、hibernate、
こんなもんが流布しなければ
C#やPHPやRubyなんかのつけいる余地なかったのにな
なんでああいう重厚な方面に行ったのかいまだに謎だわ
2013/03/13(水) 02:17:23.35
Javaの時点で、ファイル扱うだけでも重厚だろ。。コード量て意味で
113デフォルトの名無しさん
垢版 |
2013/03/13(水) 04:10:43.84
>>103
その問題解決した?
Server.xmlでも直らない?
2013/03/13(水) 23:39:16.15
>>113
とりあえず暫定措置のままだった。
String value = new String(value.getBytes("ISO_8859_1"),"UTF-8")
こんなんで凌いでて、あとで対応しようと思ってそのまんま。
今はフロント側をJS(jQuery)+CSS3でゴリゴリ書いてて、サーバサイドは
いったん放置。
115デフォルトの名無しさん
垢版 |
2013/09/15(日) 20:08:15.96
springとstrutsとではどちらが性能がうえだろうか
今現場ではどのフレームワーク使われているか
2013/09/15(日) 23:07:00.67
Strutsなら情報源も多いし技術者集めやすいだろ。1.x系なら枯れてるし。
Springは経験者が集まらないといろいろ大変だと思う。
2013/09/16(月) 03:53:34.57
Struts1使えます・Spring MVC使えませんってもれなく向上心のないドカタがきてし寝る。
てか、いまとなってはStruts1の情報なんか皆無じゃないの?

現行ミドルウェアとの連携、(Java界隈的に)見通しのいいコードを求めたら
DIフレームワークとしてだけでもSpiringつかって
わかってる人間がスケルトンコード書いちゃえばいいと思う。
2013/09/16(月) 08:57:26.79
Struts1はググれば死ぬほどサンプルあるよ

SpringMVCは、処理がある程度テンプレ化できるから
それを使ってスケルトンとかサンプル作っちゃえば
ドカタでも対応できる
119デフォルトの名無しさん
垢版 |
2013/09/16(月) 19:37:24.44
strutsの勉強すると1.1,1.2,1.3とversionごとにコードが違いますよね
なかなか思うように動かないですよね
互換性をとるようにしてもらいたいですがね
2013/09/16(月) 20:05:35.63
>>119
死んでるからもう無理。諦めろ。
121デフォルトの名無しさん
垢版 |
2013/09/16(月) 23:05:26.61
今メインのフレームワークは何?
フレームワーク使いこなすのに何年修業がいりますか?
2013/09/17(火) 00:02:09.61
昔、業務で使うことを強制されて実際に使ったが、
結局、最後まで何がなんだかワカらないままだった。

概念すら理解できんかった・・・

で、何のためにある何をするための何のものなの?
何がどう便利になる?
123デフォルトの名無しさん
垢版 |
2013/09/17(火) 00:56:15.27
>>122
一言で言えば、大規模アプリを作りやすくするためにある。

これを理解するには、大規模アプリが小規模アプリとは
同じように作れないことを知っていなければいけないんだが、
君は大規模アプリを作るときに小規模アプリにはない
問題点を感じたことは有るか?
2013/09/17(火) 01:09:18.61
大規模アプリの問題は
プログラマによってコードが違いすぎることだな
125デフォルトの名無しさん
垢版 |
2013/09/17(火) 01:10:06.76
>>124
他には?
2013/09/17(火) 01:11:55.33
無いな
127デフォルトの名無しさん
垢版 |
2013/09/17(火) 01:17:14.75
>>126
一人、または少人数で
開発できないことだよ。
2013/09/17(火) 01:21:07.34
ここで一応「大規模アプリ」の確認をしておこうか。

ユーザー数が多いのではなく
アプリの規模、ソースコードの規模が大きいということね。

Twitterなんかはシステム自体は大規模だが、
コアの部分だけ見るとアプリ自体はそんなに大きくはないだろう。
2013/09/17(火) 01:21:59.88
違うっていうんだろうけど
言ってることは同じだよね
2013/09/17(火) 01:26:43.22
>>129

まさか>>124と?ぜんぜん違うよ
コードが違いすぎるという問題は
規約と学習とレビューで解決できる。

でも、大規模アプリが
一人、または少人数で開発できないことは
どうやっても解決できない。
2013/09/17(火) 01:28:32.25
多人数で一つのシステムを開発していると、
どうしても、自分の担当部分を完成させるには
他の人が作った何かができていなければならない。
という問題が起きる。
2013/09/17(火) 01:28:50.81
やっぱりなあ
もっとほほうと思える事を教えてくれるのかと思って
期待したのに残念
明日も仕事だし寝るわノシ
2013/09/17(火) 01:31:13.33
でも、他人の担当部分の完成を待ってなんかいられない。
だから、「他人の担当部分」をダミーモジュールで
すげ替え可能にしておいて開発する。
2013/09/17(火) 01:31:48.82
>>132
銀の弾丸でも期待してたの?
アホじゃね?
2013/09/17(火) 01:34:19.67
すげ替え可能にすることで、
単体テストが可能になるし、責任の範囲も明確になる。
インターフェースで実装すべき機能も明確になる。

このようにシステム全体の結合度を下げ
大規模開発を行いやすくする。
そのやり方を標準化するフレームワーク
2013/09/17(火) 01:46:12.78
>>135
おお
こういうのはいいね
参考になるわ〜
2013/09/17(火) 09:33:08.26
>>122
経験がないなら想像力を働かせるしかない
フレームワークがなかったらどうなるか考えろ
138デフォルトの名無しさん
垢版 |
2013/09/17(火) 20:43:10.12
プログラマも思ったよりチームワーク、コミュニケーション能力がいりそうなんだよな

もくもく一人の世界にふける仕事じゃなかったのかね
2013/09/17(火) 23:52:30.20
>>138
職人芸で食っていけるほどの力がないなら、他人と力を合わせるしかないじゃない
140!ninja
垢版 |
2013/09/18(水) 14:41:08.16
今時職人芸なんて迷惑じゃね?
2013/09/18(水) 14:46:52.47
もくもく一人の世界にふける仕事ならJavaは選ばないだろー
2013/09/18(水) 16:39:44.86
>>140
なんで職人芸と迷惑が結び付くのかわからないんだが
お前の中では職人芸 = 読みにくいコードなの?
脊髄反射してんじゃねえよ単細胞
2013/09/18(水) 23:38:41.69
>>140
職人芸というのは、読みにくいコードを、
読みやすく書き直すことだよ。
わかってないね
2013/09/19(木) 13:42:47.00
>>142-143
職人芸と言われたら技巧的なコードを指すだろ
2013/09/19(木) 18:18:14.25
技巧的であっても誰にでも読み解ける文芸的なプログラミング
そんな職人に私はなりたひ
2013/09/19(木) 21:36:42.13
>>144
お前がそう思ってるだけだろ?

職人の技ってのは、読みやすいコードだよ。
2013/09/19(木) 21:41:42.53
>>146
それが読みやすくても、なぜ読みやすいか理解できないんだよ。
2013/09/20(金) 04:06:05.91
>>145
>文芸的なプログラミング
これいい表現だね

ちなみにちょっと前までデザイパターンとか必死に勉強して
いわゆる技巧的にコード(>>145で言うところの)書けるよう必死に努力して、実際に使ってプログラム書いてたわけだけど、
つい最近、文芸的なコードで書くほうがいいんじゃないかと結論に至った

プログラミング初心者に理解させやすいし、説明もしやすい=コスパが安くなるし、
どんなにソースコードのアップデートしても意外と問題が起こらない。
むしろ技巧的にやってた時のほうが問題起こりまくってた
149デフォルトの名無しさん
垢版 |
2013/09/20(金) 11:00:55.36
デザパタが技巧的って言われてもなぁ。

しかし、文芸的ってのは気に入ったw
今後はその方向で考えてみるか。
2013/09/20(金) 11:32:15.30
>>146
それこそお前が思ってることだろう
もちろんプログラマが目指すべき理想は読みやすいコードだが
言葉の印象とは別
2013/09/20(金) 18:06:46.54
お前らって言葉の定義も合意せずに議論しようとするよな
そういう奴らの言う「職人芸」ってたいてい本人だけの自己満足だろ
2013/09/20(金) 20:00:11.91
仕様とか勝手に考えてとりあえず組み込んでみるのって常識やん?
153デフォルトの名無しさん
垢版 |
2013/09/20(金) 20:57:29.93
webのプログラムよりゲームとかandroidのほうがやりがいがないか?
webの仕事なんか文字化けを修正するといった地味な仕事がおおそう
2013/09/21(土) 04:27:49.37
Androidはネイティブアプリ開発でも端末間でのハードウェア仕様の
微妙な違いで動かないとかありすぎて死ねる
ゲームとなるとこれがさらに死ねる
ガワネイティブ(WebView)アプリ開発となると、WebView内のパフォーマンスが
出なさすぎて死ねる

そろそろAndroid開発は撤退してWebの仕事に戻る予定
155デフォルトの名無しさん
垢版 |
2013/09/21(土) 23:28:50.67
なにかいろいろ苦労するのは、英語でかかれているものがおおいということでしょうか
開発者たちは、英語をよんで理解してやっているんでしょうか
本場がアメリカだから英語中心になるのはしょうがないけどな
156デフォルトの名無しさん
垢版 |
2013/09/25(水) 10:07:27.68
来月からspringを使う現場に行くことになりました、
strutsは使ったことありますか、
勉強になるサイト、参考書あれば教えて下さい!
2013/09/25(水) 10:25:28.64
springて何がいいの?
本買ったけどさっぱりわからん
158デフォルトの名無しさん
垢版 |
2013/09/25(水) 20:28:11.77
strusは,1.1,1.2,1.3とverionごとに書き方が違っていて互換性がない
環境によっては動かないこと多々ある。
>>157
チーム制作のときなど大勢のとき役にたつのではない。
フレームワークは、徐々になるしかないよ
2013/09/25(水) 21:11:51.49
>>158
日本人?
160デフォルトの名無しさん
垢版 |
2013/09/25(水) 21:26:16.26
失礼な日本人だよ
言いたかったのは個人プレーとか趣味でやるぶんには、必要ないかもしれんが、
大勢でチームでやるときは、必要だということ
大規模なシステム開発ではいるということ
2013/09/25(水) 23:28:18.96
大規模なシステム開発では逆に使わんよ
Javaとフレームワークも扱える人って条件での人員集めがかなり大変
むしろ1人か2人レベルの規模のwebアプリケーションで使われてることが多い
なんでワザワザ使ってんのって聞いてみたことあるけど本人達もよくわかってない感じだった

「ん〜。勉強のため?」みたいな答えが帰ってきて笑っちまったことがある
2013/09/26(木) 04:36:43.48
アホか。そいつらくらいだよ
2013/09/26(木) 11:31:31.26
>>161
えっ
フレームワークも使えないような技術者しか集まらないのに、そいつら全員に生Servletで開発させてんの?
クラス名はA0012みたいな感じですか?
2013/09/26(木) 13:09:12.87
元請けは>>161のような雑魚にはいちいち説明しないで「このとおり作ってください」って
指示するだけで、実際は当然FW使ってる
2013/09/26(木) 17:50:01.09
いずれにしても>>161の己が無知を知らなさ加減には釣られざるを得ない
2013/09/26(木) 21:41:31.18
少人数の下っ端はフレームワーク扱うんじゃなくて
フレームワーク使って設計したプログラムのほんの一部を実装するだけだろ
2013/09/26(木) 22:34:50.89
質問!そもそも大規模なwebアプリケーションってどのくらいのレベルのことなのですか?
今どきwebアプリケーションでそんな大規模な案件ってあるの?
よくソフトウェア開発で大規模大規模って言うけど具体的にはどのようなアプリケーションやシステムのことを大規模って言うでしょうか?
2013/09/26(木) 22:41:14.77
規模がおおきいアプリケーション
2013/09/27(金) 03:56:03.19
SIerでは開発者の数が多い、大規模プロジェクトのことをいうのが普通じゃね?
百人(人月じゃない)未満のプロジェクトは大規模とは言わない
2013/09/27(金) 07:10:54.28
デスマになるプロジェクトのアプリケーションの規模
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況