X



【DI】Java Spring Frameworkを語るスレ 5.0
0002デフォルトの名無しさん
垢版 |
2011/11/28(月) 02:19:54.66
日本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
0003デフォルトの名無しさん
垢版 |
2011/11/28(月) 02:24:07.23
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/
0005デフォルトの名無しさん
垢版 |
2011/11/30(水) 08:42:53.33
京都大学霊長類研究所では、未知の感染症が蔓延し、
感染した研究員はどのスレッドにも同じコピペを
繰り返すといった症状が報告されています。

研究員によると思われる書き込みがあっても
近づかないようにしてください。

                  京都大学
0006デフォルトの名無しさん
垢版 |
2011/12/01(木) 21:38:17.86
高度な会話まだ?
0007デフォルトの名無しさん
垢版 |
2011/12/01(木) 22:00:42.91
高度なロジックは読めますか?
0008デフォルトの名無しさん
垢版 |
2011/12/01(木) 22:21:15.93
ソースを読める人が高度な人です
0009デフォルトの名無しさん
垢版 |
2011/12/01(木) 22:35:52.48
高度な人はこちらでお願いします

【DI】Java Spring Frameworkを高度に語るスレ 5.0+
ttp://hibari.2ch.net/test/read.cgi/tech/1322485390/
0010デフォルトの名無しさん
垢版 |
2011/12/01(木) 22:36:52.76
俺も高度な人になりたいな
0011デフォルトの名無しさん
垢版 |
2011/12/02(金) 04:42:42.60
コアソース解読できるの?
0012デフォルトの名無しさん
垢版 |
2011/12/02(金) 04:43:13.84
アノテーション
0013デフォルトの名無しさん
垢版 |
2011/12/02(金) 05:41:10.35
アノテーションはクラスに直接書く
0014デフォルトの名無しさん
垢版 |
2011/12/02(金) 06:14:38.38
そうなれば散在するね
管理が大変じゃね?
0015デフォルトの名無しさん
垢版 |
2011/12/02(金) 20:41:41.06
確かに
XMLファイルで管理する方が一つの場所で管理できる分
管理がしやすくなるな
0016デフォルトの名無しさん
垢版 |
2011/12/02(金) 20:58:22.27
アノテーションでは
クラスに定義するので、各クラスに定義情報が散在するからね
0017デフォルトの名無しさん
垢版 |
2011/12/02(金) 21:06:19.38
そうなると後で管理が大変になるね!
0018デフォルトの名無しさん
垢版 |
2011/12/02(金) 21:07:42.98
なるほどアノテーションって良いことばかりじゃないんだね
0021デフォルトの名無しさん
垢版 |
2011/12/02(金) 22:17:01.67
>>18
何でもアノテーションにすりゃ良いってものじゃないぞ
0022デフォルトの名無しさん
垢版 |
2011/12/02(金) 22:18:08.03
なんでもif使えばいいってもんじゃないぞ。
なんでもfor使えばいいってもんじゃないぞ。
なんでも関数にすればいいってもんじゃないぞ。
なんでもクラスにすればいいってもんじゃないぞ。

うん、なんにでもあてはまる。
0023デフォルトの名無しさん
垢版 |
2011/12/02(金) 22:21:16.77
>>21
そうですね
アノテーション万歳の人に警告しなきゃ
0024デフォルトの名無しさん
垢版 |
2011/12/02(金) 22:27:15.06
>>23
アノテーション万能じゃない
0026デフォルトの名無しさん
垢版 |
2011/12/03(土) 09:17:05.17
>>23
アノテーション信者か?
0030デフォルトの名無しさん
垢版 |
2011/12/04(日) 00:02:50.59
使わないなぁ
0031デフォルトの名無しさん
垢版 |
2011/12/04(日) 02:25:32.85
validationなんて個別にクラスに書いたらダメでしょ
プロジェクト全体で統一しないと
0033デフォルトの名無しさん
垢版 |
2011/12/04(日) 09:58:44.04
バリデーションってアプリケーションごとに
使い捨てにするしかないんじゃない?

@NotNull程度のものが半端にあるならないほうがいい。
0036デフォルトの名無しさん
垢版 |
2011/12/04(日) 12:31:13.33
一から手書き以外だと
・SpringのValidatorインタフェース
・Commons Validator
とかだろうか、Validatorインターフェースは中身は結局手書きだけど

Valangてのもあるらしいがよくしらない orz
0037デフォルトの名無しさん
垢版 |
2011/12/04(日) 14:53:41.77
>>34
・アノテーションのみ
・アノテーションと手書きの混在
・手書きのみ
3種が入り乱れるような状態になるから
手書きのみで全部同じように書けるほうがいいでしょ。

Validatorインターフェースの中でValidationUtilsみたいな
クラスライブラリを使うのに統一したほうがいいよ。
0038デフォルトの名無しさん
垢版 |
2011/12/05(月) 18:14:21.96
バリデーターがどうあるべきかの設計は難しいね。

バリデーターを置くレイヤーや
バリデーションを何でやるか(XML, Annotation, Class)を
画一的にするのは無理なんだろか。
0039デフォルトの名無しさん
垢版 |
2011/12/05(月) 20:29:32.48
えっ、入力ヴァリデーションは全部アノテーションでやっているけど、うちって少数派?
別に小規模なアプリでは無いし、Spring拡張やアプリケーション固有のConstraintValidatorを作ってやってるんだけど。
0040デフォルトの名無しさん
垢版 |
2011/12/05(月) 23:13:07.56
>>39
典型的なSIerは>>37のように考えるところが多い
選択肢をなくして効率の悪いやり方で統一する愚作なんだが
ドカタ的なプロジェクトでは致し方ない
004139
垢版 |
2011/12/05(月) 23:28:27.65
うちも典型的なSI屋なんだけど。
選択肢なくして統一するなら、アプリケーション固有のアノテーションを用意して、
土方にはそれを付加させるだけにした方が楽じゃね?、っと思うんだけどな。
0043デフォルトの名無しさん
垢版 |
2011/12/06(火) 10:29:56.97
バリデーションはアプリケーションの固有性がでるから
カスタムしやすいことは重要だと思う。
それでいて土方的(画一的)に何でもやれることも両立したい。

>>41
カスタムアノテーションだと変数間の関係が難しい。
でも再利用性の高いものはアノテーションがいいよなぁ。

優先的に標準アノテーション+カスタムアノテーションで済ませて、
次にそれではできない一部のものをクラスに、
最後にソースに依存させてたくない場合はXMLでやることにしてみる。
004439
垢版 |
2011/12/06(火) 14:09:06.41
>>43
変数間の比較用アノテーションも用意しているよ。
メンバ変数じゃなくてクラスに対してアノテーションを付加して、メンバ変数aとbが同値であることを検証する、
っとか、そういうの。
そして最終手段は、検証対象オブジェクトのメソッド呼び出し(戻り値booleanで判定)アノテーション。

もちろん、入力アノテーションではなくて、対象オブジェクトの情報だけでは完結しないロジックなヴァリデーションは
コントローラーで書くけど、それ以外はアノテーションベースで困っていないかな。
0045デフォルトの名無しさん
垢版 |
2011/12/06(火) 23:08:16.58
>>40
> 選択肢をなくして効率の悪いやり方で統一する愚作なんだが

コーディング規約のケチつけてるの?

それともルールはない。みんな好き勝手やれ。
関数置き換えハックでも何でも自由にやってよい派ですか?
004743
垢版 |
2011/12/07(水) 19:30:05.62
>>44
>メンバ変数じゃなくてクラスに対してアノテーション
なるほどね。それならバリデーションの前に対象を全部VO(DTO)に
コンバーターで詰め込んでそのVOをバリデーションしたらいいのかも。
0048デフォルトの名無しさん
垢版 |
2011/12/07(水) 21:04:52.91
>>46
なんでって、選択肢を無くすことが
効率が悪い方法で統一するなんて
馬鹿なこと言い出すからだろ。

最善の方法に選択肢を絞ってるという発想はできないのか?
0054デフォルトの名無しさん
垢版 |
2011/12/08(木) 17:07:39.98
>>40 って高度な話題うんぬん騒いでたアホだろ?

springソースをハックした基盤技術チームがどうたらさんは
高度スレを使うように。

【DI】Java Spring Frameworkを高度に語るスレ 5.0+
ttp://hibari.2ch.net/test/read.cgi/tech/1322485390/
0055デフォルトの名無しさん
垢版 |
2011/12/09(金) 00:20:53.79
認定厨w
>>40,41,43 と、>>37に否定的な意見が3者から出てちゃんと会話になってたんだがな
もう価値観が違うってことでいいよ
00571
垢版 |
2011/12/11(日) 13:42:19.62
>>56
ホントだ、転送されてて気が付かなかった。
0058デフォルトの名無しさん
垢版 |
2012/02/11(土) 02:27:20.03
保守
0059デフォルトの名無しさん
垢版 |
2012/02/11(土) 06:28:11.16
Spring DM使ってる人いる?
0060デフォルトの名無しさん
垢版 |
2012/02/17(金) 10:17:41.87
保守
0062デフォルトの名無しさん
垢版 |
2012/02/23(木) 00:14:31.65
今さらSpring MVC始めてみたけど、楽ちんでいいね
Spring Rooも触ってみたけど、ひな形的なアプリは簡単に作れても
それを要件を満たす形にカスタムしていくのに学習コストがかかりすぎる感じがする
MVCあたりがバランスいい気がする
0063デフォルトの名無しさん
垢版 |
2012/02/26(日) 21:44:09.38
え、Rooってあくまでも開発ツールで、ランタイムではないんじゃなかったっけ?
SpringMVC や 〇〇Dao を、手書きするか Roo に雛形を作らせるかって違いで。

# 間違ってることを書いてたらごめんなさい
006563
垢版 |
2012/02/27(月) 15:25:27.70
>>64
レスありがとうございます。

あ、そうでしたね
何年か前のデブサミで、SpringSourceの人のデモを見たのを思い出した
ってことは、Rooで自動生成制したソースをうごかすには、Rooのランタイムも必要になるか。
にしても、あのソースはわかりにくいというかめんどくさすぎだな。
DBのエンティティクラスはフィールドがないにしても、setterとかgetterとか
全部外だしにするから、ソースもたくさん増えるし、追いにくい。
0066デフォルトの名無しさん
垢版 |
2012/02/28(火) 01:29:56.29
Rooはとりあえず単体で動いたら、即Push-Inして可能な限り
Aspectが表に出ないようにしてるな。
Push-Inしたところで、Rooから使えなくなるわけじゃないし、
DB周りはtext型とか使ってると、タイプエラーで落ちるから
うざくって。forum行くと「varchar使い給え」と言われて。
自分でadd-on作ろうかと考えたけど、しんどいし。
0067デフォルトの名無しさん
垢版 |
2012/03/12(月) 21:16:53.15
DBでtext型を使おうって考え方がそもそも狂ってるんじゃ?
つかROOを使おうってテコいれしても周りが追いついてこないから結局雛形だけ作って終わりな今日この頃
ゆとりどもゆとりでてめーが勉強しないのを棚上げして俺の水準に合わせて敷居さげろよってほざいてやがるw
0068デフォルトの名無しさん
垢版 |
2012/03/12(月) 23:44:37.12
DBにText型があるのは、別におかしいことじゃない。xLOBがあったり、
一時はXML Typeで盛り上がったりした。

Rooはscaffoldからはみ出たら自分で実装する領域が広いし、
自作コンポの実装も、beanタグ記述も手書きだから、
雛型的な使い方でも間違いじゃないと思うけどな
勉強しないのは、日本的自称「IT要員」というか「JPSIer文化」だろ。
「横一線で開発しましょう。それ以上でも以下でもだめですし、
余計な提案・行動は不要です。」

まぁ俺の知る限りのSIerのほとんどはいつまでも後生大事に
Seasar2改を使ってるとこがほとんどだな。悪いとは言わんが、なんだかな。
0069sage
垢版 |
2012/03/14(水) 17:02:12.77
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をこのような事をするには
どうすればよろしいのでしょうか?
0070デフォルトの名無しさん
垢版 |
2012/03/14(水) 20:10:54.75
エラーの情報しかないから、ゼロコンフィグに近い想定でパッと
思いつく限りだと下の二つのどちらか。

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

2.mvc:annotation-driven の利用をやめて、xmlでマッピングする。
0071デフォルトの名無しさん
垢版 |
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ではアスタリスクは問題なく使えた気がするのですが。。。
0074デフォルトの名無しさん
垢版 |
2012/03/16(金) 01:30:10.33
<servlet-mapping>
<servlet-name>rest001</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
俺個人は、アスタは*.htmlとかfilter-mappingにしか使わん。
0075デフォルトの名無しさん
垢版 |
2012/03/16(金) 11:20:39.34
ていうか、そもそもサーブレットの仕様も分からんし、
(ハンドリングがちゃんと出来てるか)
バグってないかも分からんし、
applicationContextに相当するもんの設定が正しいかも分からんし、
springコンポーネントが利用されているかどうかも分からん。
0077sage
垢版 |
2012/04/02(月) 21:22:04.84
>>70さん

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

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

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

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

そうじゃないことするんだから、アノテをやめたらどうなんだい?
って書いてると思うだが?
0086デフォルトの名無しさん
垢版 |
2012/04/27(金) 11:20:18.83
英語だろうがなんだろうが、あるかないかで言えば「ある」
英語読めないなら、古い情報で我慢しておけばいいだけ

もっとも、探せば日本語の情報も断片的なものがかなりの量存在するから
自分の必要なものを集めてまとめておけばいいよ
0087デフォルトの名無しさん
垢版 |
2012/05/06(日) 09:39:47.04
Spring 3.0 MVCのサンプルコードどこかに載っていませんか?
コントローラでDBから取ってきたデータをどうやってVIEWに渡すのか知りたいのです。
0088デフォルトの名無しさん
垢版 |
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 はやってない)に聞いたところ、
だいたいこんな感じだったそうですが・・・
0089デフォルトの名無しさん
垢版 |
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のミニマムの組み合わせってどんなんだろう?
0092デフォルトの名無しさん
垢版 |
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となるように作る、という理解でよいでしょうか?
0097デフォルトの名無しさん
垢版 |
2012/08/12(日) 14:05:35.93
要件定義
0098デフォルトの名無しさん
垢版 |
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");

ってやるととりあえず取得できるんだけど、こういうもんかね??
0099デフォルトの名無しさん
垢版 |
2012/09/02(日) 22:12:29.21
某自動車メーカーに派遣言ったことあるけど、
StrutsとSpring掛け合わせたフレームワーク使ってた。
0100デフォルトの名無しさん
垢版 |
2012/09/02(日) 22:31:36.11
掛けあわせたというより、オフィシャルの配布物に
org.springframework.web.struts-3.1.2.RELEASE.jar
ってのがあるくらいだ
レスを投稿する


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