1read 100read
2013年17プログラム11: 【DI】Java Spring Frameworkを語るスレ 5.0 (157) TOP カテ一覧 スレ一覧 2ch元 削除依頼
△△もっとStruts2の良さを教えてくださいSsssion6 (659)
プログラム板 自治スレッド Part14 (581)
Win32API質問箱 Build115 (558)
プログラミング雑談スレ (359)
Google Maps API 質問箱 (345)
Microsoft Silverlight その9 (472)

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


1 :2011/11/28 〜 最終レス :2013/09/25
前スレ
http://hibari.2ch.net/test/read.cgi/tech/1227196176/
公式
ttp://www.springframework.org/

2 :
日本Springユーザー会
http://www.springframework.jp/
Spring-Java/J2EEアプリケーションフレームワークリファレンスドキュメント(2章まで最新版)
ttp://andore.com/money/trans/spring_ref_ja.html
EclipseプラグインSpring IDEを使ってみよう (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_01/spring2_01_1.html
Springは「2.0」でどんだけ便利になったの? (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_02/spring2_02_1.html
Spring 2.0で自分なりの開発スタイルを確立しよう (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_03/spring2_03_1.html
【ハウツー】Spring 2.0を早速使う - どのくらい簡単になった? (1) 待望のSpring Framework 2.0リリース (MYCOMジャーナル)
ttp://journal.mycom.co.jp/articles/2006/10/05/spring20/
Spring 2.0によるDBアプリケーションの作成
ttp://www.okisoft.co.jp/esc/spring/index.html
InfoQ: Spring 2.0: 最新情報と Spring 2.0 が重要な理由
ttp://www.infoq.com/jp/articles/spring-2-intro
InfoQ: Spring 2.5の新機能―Part 1
ttp://www.infoq.com/jp/articles/spring-2.5-part-1
InfoQ: Spring 2.5の新機能を使ってアプリケーションを作る(その1)
ttp://www.infoq.com/jp/articles/spring2.5-1
InfoQ: Spring 2.5の新機能を使ってアプリケーションを作る(その2)
ttp://www.infoq.com/jp/articles/spring2.5-2

3 :
Inversion of Control コンテナと Dependency Injection パターン
ttp://kakutani.com/trans/fowler/injection.html
Inversion of Controlパターンでコンポーネント間の結びつきを弱める - japan.internet.com デベロッパー
ttp://japan.internet.com/developer/20051011/28.html
【書籍】
Spring入門
ttp://www.amazon.co.jp/dp/4774123412/
Spring2.0入門
http://www.amazon.co.jp/dp/4774130001/
SpringによるWebアプリケーションスーパーサンプル
http://www.amazon.co.jp/dp/4797334223/
【過去スレ】
http://pc11.2ch.net/test/read.cgi/tech/1216212651/
http://pc11.2ch.net/test/read.cgi/tech/1169517585/
http://pc10.2ch.net/test/read.cgi/tech/1077465099/

4 :
スレ立て乙

5 :
京都大学霊長類研究所では、未知の感染症が蔓延し、
感染した研究員はどのスレッドにも同じコピペを
繰り返すといった症状が報告されています。
研究員によると思われる書き込みがあっても
近づかないようにしてください。
                  京都大学

6 :
高度な会話まだ?

7 :
高度なロジックは読めますか?

8 :
ソースを読める人が高度な人です

9 :
高度な人はこちらでお願いします
【DI】Java Spring Frameworkを高度に語るスレ 5.0+
ttp://hibari.2ch.net/test/read.cgi/tech/1322485390/

10 :
俺も高度な人になりたいな

11 :
コアソース解読できるの?

12 :
アノテーション

13 :
アノテーションはクラスに直接書く

14 :
そうなれば散在するね
管理が大変じゃね?

15 :
確かに
XMLファイルで管理する方が一つの場所で管理できる分
管理がしやすくなるな

16 :
アノテーションでは
クラスに定義するので、各クラスに定義情報が散在するからね

17 :
そうなると後で管理が大変になるね!

18 :
なるほどアノテーションって良いことばかりじゃないんだね

19 :
strutsとseaserを混ぜて楽しく使う・・・

20 :
そりゃそうだろ。
どんなものだって不適切に使えば
悪い所が出てくる。

21 :
>>18
何でもアノテーションにすりゃ良いってものじゃないぞ

22 :
なんでもif使えばいいってもんじゃないぞ。
なんでもfor使えばいいってもんじゃないぞ。
なんでも関数にすればいいってもんじゃないぞ。
なんでもクラスにすればいいってもんじゃないぞ。
うん、なんにでもあてはまる。

23 :
>>21
そうですね
アノテーション万歳の人に警告しなきゃ

24 :
>>23
アノテーション万能じゃない

25 :
散在したほうがいいもの、
集中したほうがいいもの、
分類して

26 :
>>23
アノテーション信者か?

27 :
高度スレにアイちゃんしかいないんだがw

28 :
いいんだよ。あっちは自称高度な人を
追いやる隔離スレだから。

29 :
アノテーションといえばbean validation使ってる?

30 :
使わないなぁ

31 :
validationなんて個別にクラスに書いたらダメでしょ
プロジェクト全体で統一しないと

32 :
http://d.hatena.ne.jp/yamkazu/20110206/1296985545
これか。一つを対象に5個くらいアノテーション付くと気持ち悪い

33 :
バリデーションってアプリケーションごとに
使い捨てにするしかないんじゃない?
@NotNull程度のものが半端にあるならないほうがいい。

34 :
なんでないほうがいいの?

35 :
>>32
アノテーションはインターフェースに対してつければいい。

36 :
一から手書き以外だと
・SpringのValidatorインタフェース
・Commons Validator
とかだろうか、Validatorインターフェースは中身は結局手書きだけど
Valangてのもあるらしいがよくしらない orz

37 :
>>34
・アノテーションのみ
・アノテーションと手書きの混在
・手書きのみ
3種が入り乱れるような状態になるから
手書きのみで全部同じように書けるほうがいいでしょ。
Validatorインターフェースの中でValidationUtilsみたいな
クラスライブラリを使うのに統一したほうがいいよ。

38 :
バリデーターがどうあるべきかの設計は難しいね。
バリデーターを置くレイヤーや
バリデーションを何でやるか(XML, Annotation, Class)を
画一的にするのは無理なんだろか。

39 :
えっ、入力ヴァリデーションは全部アノテーションでやっているけど、うちって少数派?
別に小規模なアプリでは無いし、Spring拡張やアプリケーション固有のConstraintValidatorを作ってやってるんだけど。

40 :
>>39
典型的なSIerは>>37のように考えるところが多い
選択肢をなくして効率の悪いやり方で統一する愚作なんだが
ドカタ的なプロジェクトでは致し方ない

41 :
うちも典型的なSI屋なんだけど。
選択肢なくして統一するなら、アプリケーション固有のアノテーションを用意して、
土方にはそれを付加させるだけにした方が楽じゃね?、っと思うんだけどな。

42 :
フォームがリスト構造を含む場合どうなるんだろ
と思いつつ実験してない…

43 :
バリデーションはアプリケーションの固有性がでるから
カスタムしやすいことは重要だと思う。
それでいて土方的(画一的)に何でもやれることも両立したい。
>>41
カスタムアノテーションだと変数間の関係が難しい。
でも再利用性の高いものはアノテーションがいいよなぁ。
優先的に標準アノテーション+カスタムアノテーションで済ませて、
次にそれではできない一部のものをクラスに、
最後にソースに依存させてたくない場合はXMLでやることにしてみる。

44 :
>>43
変数間の比較用アノテーションも用意しているよ。
メンバ変数じゃなくてクラスに対してアノテーションを付加して、メンバ変数aとbが同値であることを検証する、
っとか、そういうの。
そして最終手段は、検証対象オブジェクトのメソッド呼び出し(戻り値booleanで判定)アノテーション。
もちろん、入力アノテーションではなくて、対象オブジェクトの情報だけでは完結しないロジックなヴァリデーションは
コントローラーで書くけど、それ以外はアノテーションベースで困っていないかな。

45 :
>>40
> 選択肢をなくして効率の悪いやり方で統一する愚作なんだが
コーディング規約のケチつけてるの?
それともルールはない。みんな好き勝手やれ。
関数置き換えハックでも何でも自由にやってよい派ですか?

46 :
>>45
なんでそんなに極端なんだ?
元ネタが>>37の3種類だってわかってる?それを肯定するとなんでもあり?アホか

47 :
>>44
>メンバ変数じゃなくてクラスに対してアノテーション
なるほどね。それならバリデーションの前に対象を全部VO(DTO)に
コンバーターで詰め込んでそのVOをバリデーションしたらいいのかも。

48 :
>>46
なんでって、選択肢を無くすことが
効率が悪い方法で統一するなんて
馬鹿なこと言い出すからだろ。
最善の方法に選択肢を絞ってるという発想はできないのか?

49 :
最善つか最適解かな。最善があるならそもそも選択の余地はない。

50 :
なんでも金槌で叩きたがるやつっているよねw

51 :
>>50の頭も金槌で叩こう

52 :
パターン化 と 選択肢を無くすこと は親密

53 :
>>52
VSOP(very special one pattern)だな

54 :
>>40 って高度な話題うんぬん騒いでたアホだろ?
springソースをハックした基盤技術チームがどうたらさんは
高度スレを使うように。
【DI】Java Spring Frameworkを高度に語るスレ 5.0+
ttp://hibari.2ch.net/test/read.cgi/tech/1322485390/

55 :
認定厨w
>>40,41,43 と、>>37に否定的な意見が3者から出てちゃんと会話になってたんだがな
もう価値観が違うってことでいいよ

56 :
>>1
スレ立て乙だけど公式サイトが昔のまま
次スレ立てる人要注意
公式
ttp://www.springsource.org/

57 :
>>56
ホントだ、転送されてて気が付かなかった。

58 :
保守

59 :
Spring DM使ってる人いる?

60 :
保守

61 :
ส๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎͜͜͏̘̣͔͙

62 :
今さらSpring MVC始めてみたけど、楽ちんでいいね
Spring Rooも触ってみたけど、ひな形的なアプリは簡単に作れても
それを要件を満たす形にカスタムしていくのに学習コストがかかりすぎる感じがする
MVCあたりがバランスいい気がする

63 :
え、Rooってあくまでも開発ツールで、ランタイムではないんじゃなかったっけ?
SpringMVC や 〇〇Dao を、手書きするか Roo に雛形を作らせるかって違いで。
# 間違ってることを書いてたらごめんなさい

64 :
Rooはひな形作って終わりじゃなく、その後もAspectJ駆使したソースを足してく

65 :
>>64
レスありがとうございます。
あ、そうでしたね
何年か前のデブサミで、SpringSourceの人のデモを見たのを思い出した
ってことは、Rooで自動生成制したソースをうごかすには、Rooのランタイムも必要になるか。
にしても、あのソースはわかりにくいというかめんどくさすぎだな。
DBのエンティティクラスはフィールドがないにしても、setterとかgetterとか
全部外だしにするから、ソースもたくさん増えるし、追いにくい。

66 :
Rooはとりあえず単体で動いたら、即Push-Inして可能な限り
Aspectが表に出ないようにしてるな。
Push-Inしたところで、Rooから使えなくなるわけじゃないし、
DB周りはtext型とか使ってると、タイプエラーで落ちるから
うざくって。forum行くと「varchar使い給え」と言われて。
自分でadd-on作ろうかと考えたけど、しんどいし。

67 :
DBでtext型を使おうって考え方がそもそも狂ってるんじゃ?
つかROOを使おうってテコいれしても周りが追いついてこないから結局雛形だけ作って終わりな今日この頃
ゆとりどもゆとりでてめーが勉強しないのを棚上げして俺の水準に合わせて敷居さげろよってほざいてやがるw

68 :
DBにText型があるのは、別におかしいことじゃない。xLOBがあったり、
一時はXML Typeで盛り上がったりした。
Rooはscaffoldからはみ出たら自分で実装する領域が広いし、
自作コンポの実装も、beanタグ記述も手書きだから、
雛型的な使い方でも間違いじゃないと思うけどな
勉強しないのは、日本的自称「IT要員」というか「JPSIer文化」だろ。
「横一線で開発しましょう。それ以上でも以下でもだめですし、
余計な提案・行動は不要です。」
まぁ俺の知る限りのSIerのほとんどはいつまでも後生大事に
Seasar2改を使ってるとこがほとんどだな。悪いとは言わんが、なんだかな。

69 :
URIを以下の様にしたい場合
/item/index.html
/test/item/index.html

コントローラクラスを以下の様に配置して実行しようとすると
controller.ItemController.java
controller.test.ItemController.java
↓のエラーが出ます。
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource
[/WEB-INF/sample-servlet.xml]; nested exception is java.lang.IllegalStateException: Annotation-specified bean name 'itemController' for
bean class [controller.ItemController] conflicts with existing, non-compatible bean definition of same name and class [controller.test.ItemController]

たぶん、同じクラス名は使用できないという事かと思うのですが、URIをこのような事をするには
どうすればよろしいのでしょうか?

70 :
エラーの情報しかないから、ゼロコンフィグに近い想定でパッと
思いつく限りだと下の二つのどちらか。
1.controller.test.ItemControler.java のクラス名を TestItemController
(適当な名前でも良いけど)に変えて
クラスのアノテかハンドルメソッドで
@RequestMapping("/test/item/")を定義する。
2.mvc:annotation-driven の利用をやめて、xmlでマッピングする。

71 :
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ではアスタリスクは問題なく使えた気がするのですが。。。

72 :
Urlがまちがってました。
/adminではなく/rest001です。

73 :
勘違いでした
72は無視してください
>>72
> Urlがまちがってました。
> /adminではなく/rest001です。

74 :
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
俺個人は、アスタは*.htmlとかfilter-mappingにしか使わん。

75 :
ていうか、そもそもサーブレットの仕様も分からんし、
(ハンドリングがちゃんと出来てるか)
バグってないかも分からんし、
applicationContextに相当するもんの設定が正しいかも分からんし、
springコンポーネントが利用されているかどうかも分からん。

76 :
>>69 とか
>>71 のゆとりはいますぐstruts1.xのプロジェクトに戻るんだ。

77 :
>>70さん
自分も以前に同様の事象に困っていて、>>70さんの提示している@案で対応しましたが
この同一コントローラー名のエラーに関しては、設定如何で回避できるものなのでしょうか?
モデルとコントローラのクラス名称をできるだけ同じにしたいので、設定で
できるのであれば、今後の開発の時に試してみたいです。

78 :
1つの画面で複数のレコード分のデータを入力したデータを
POSTして、サーバ側でList型の形式で受け取ることはできるのでしょうか?
ModelAttributeとか使えばいけそうな気がするのですが・・・。
Bean - List - Bean 見たいな形式にすればいけるかとも思ったのですが
こちらもうまくいかず・・・。

79 :
>>77
だから「springの法則に従った正しい規約」で
運用すんなら、アノテと標準的なアクション用のxmlで
ほぼセロコンフィグで済むんだって。
そうじゃないことするんだから、アノテをやめたらどうなんだい?
って書いてると思うだが?

80 :
>>78
こういうこと?
ttp://viralpatel.net/blogs/2011/12/spring-mvc-multi-row-submit-java-list.html

81 :
spring3.0の情報どこかに載ってないですか?

82 :
3.0?数年前から山ほどあるよね?

83 :
ないよ

84 :
これが必要にして十分な情報。
Spring Framework
Reference Documentation
3.1
http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/
これ以外は必要無い。

85 :
英語のサイトしかないの?

86 :
英語だろうがなんだろうが、あるかないかで言えば「ある」
英語読めないなら、古い情報で我慢しておけばいいだけ
もっとも、探せば日本語の情報も断片的なものがかなりの量存在するから
自分の必要なものを集めてまとめておけばいいよ

87 :
Spring 3.0 MVCのサンプルコードどこかに載っていませんか?
コントローラでDBから取ってきたデータをどうやってVIEWに渡すのか知りたいのです。

88 :
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 はやってない)に聞いたところ、
だいたいこんな感じだったそうですが・・・

89 :
自分もSpring3 MVCで作り始めたけど、ModelMapに値詰めて返してTitlesとか使って描画っていう
やりかただと、Web画面側のデザイン面での制約がけっこう大きいと気がついて結局、
Web画面とサーバ側の通信はJSONのみ、
Spring側は、DBとモデルオブジェクトのマッピング、ControllerでJSONデータのハンドリングやらせて
あんまりSpring MVC使う意味が無くなってるかも。。。
validationは、画面側でjQueryのプラグイン使ってやらせてる。
validation条件の変更とか、全部JavaScript側でできるし。
DBとモデルオブジェクトのマッピングと、Controllerだけ使うような場合って
利用するSpringのjarのミニマムの組み合わせってどんなんだろう?

90 :
>>89
Titles じゃなくて Tiles のことだよね?

91 :
>>90
そうだった。タイプミス。正しくはTilesだよね。

92 :
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となるように作る、という理解でよいでしょうか?

93 :
設計次第

94 :
>>1
Java用Webアプリケーションフレームワークの総合スレ立てた
【Java】 Java Web Application Framework 総合
http://toro.2ch.net/test/read.cgi/tech/1338707919/

95 :
ファクトリーメソッドに対する大根のメリットってなんぞ?

96 :
SE
http://www.seprogrammerjobs.com/com_detail.php?v_id=2487

97 :
要件定義

98 :
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");
ってやるととりあえず取得できるんだけど、こういうもんかね??

99 :
某自動車メーカーに派遣言ったことあるけど、
StrutsとSpring掛け合わせたフレームワーク使ってた。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
【論理】Prolog【初心者】 (693)
MFC相談室 mfc22d.dll (360)
3Dアルゴリズム全般 (500)
△△もっとStruts2の良さを教えてくださいSsssion6 (659)
【消しゴム】MONOを使ってみるスレ4【じゃない】 (525)
Excel VBA 質問スレ Part31 (546)
--log9.info------------------
(*´ω`*) モキュ〜♪ その4 (906)
SFゲームのスレッド (159)
【FSS】 ファイブスター物語 【永野護】 10 (569)
ハイペリオン (556)
北野勇作 2丁目 (875)
***SF用語しりとり(21エモン)*** (809)
平井和正★6 (395)
指輪物語強さ議論スレ (567)
GH■悪霊シリーズネタバレスレ24■小野不由美 (147)
今日買ったSF・FT・HR本を教えるスレ8 (730)
小林泰三 その9 (902)
ジュブナイルSFを語ろう その2 (233)
ロバート・A・ハインライン Part5 (473)
【アフター0】岡崎二郎スレNeo【国立博物館物語】 (274)
巨大な怪獣や動物に飲み込まれるシーン 第5胃袋 (790)
【クリスタル】スター・ウォーズ EU総合EP15【スピンオフ】 (184)
--log55.com------------------
OEMの家電について語ろう Part1
低価格でナイスなイヤホンPart108
ヤマダ電機の研修
いきなり閉店?超・激安家電通販 匠proshop
スティック掃除機総合
【空調】Panasonic エアコン【Part8】
Google Home関連専用
[即日冷房]窓用・ウィンドエアコン66台目[工事不要]