トップページtech
1001コメント358KB

Java Spring Frameworkを語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
http://www.springframework.org/

乱立するフレームワークと競合するプロトコルの嵐のなかで、
リスクの高い決断を余儀なくされているJavaデベロッパ、プ
ロジェクトマネージャに対する福音です。

語るべし。
0015春一番NGNG
>>14
_| ̄|○
0016デフォルトの名無しさんNGNG
ちょっとこっちに参戦してください。
http://pc2.2ch.net/test/read.cgi/tech/1068207164/542-543
0017デフォルトの名無しさんNGNG
>>16
参戦してきますた。
それにしても、AOPすれも多すぎだし、
各スレの依存関係が強いね。
0018デフォルトの名無しさんNGNG
つかrc2リリースくらい書こうよ
0019デフォルトの名無しさんNGNG
RCになってから、いろいろ変えんなよ。
0020デフォルトの名無しさんNGNG
>>19
リリース後はAPI変えないみたいなこといってたから
かけこみで変更しとけってのががおおかったんじゃないの?
0021デフォルトの名無しさんNGNG
web.xmlにapplicationContext.xmlを定義する方法で、Webアプリで使ってるんだけど
稼動中にapplicationContext.xmlを編集した後、内部でrefresh()を呼び出しても
全然内容が更新されない。

何でか分かる人いる?(てか、そもそもrefresh()がそういう用途にあるのかも分からん)
0022デフォルトの名無しさんNGNG
保守
0023デフォルトの名無しさんNGNG
>>21
そのrefresh()ってどのクラスにあるの?
m4では見つからなかったけど。
rc2落としてみるか。
0024デフォルトの名無しさんNGNG
>>23
AbstractApplicationContext っす
0025デフォルトの名無しさんNGNG
>>24
コードを見る限りは、refreshBeanFactoryで、
更新されそうだけど。
デバッガで追うしかない?
00261さんNGNG
正直レスついて嬉しい。ワーイ
0027デフォルトの名無しさんNGNG
なんかねたなーい?

そういえば、Spring MVCってどうよ。
WebWorkのほうがいいって香具師もいるが。
Spring単独の話題より、比較の方が特徴が分かって面白い。
0028デフォルトの名無しさんNGNG
>>27
SpringのMVCはフレキシブルすぎて「MVC初心者」には使いこなせない感じ。

FormやValidatorやらも一通り揃ってて機能的には申し分ないんだけど、
多人数のプロジェクトで使おうとするとSpringのMVCをベースにもう一段
自分用MVCフレームワークを作るような構造にしないと、StrutsのActionで
ヒーヒー言ってるような人たちにはつらいと思う。
0029デフォルトの名無しさんNGNG
IoCはもう古い!これからはDependency Injectionだ!
「Inversion of Controlコンテナと Dependency Injectionパターン」
http://www.kakutani.com/trans/fowler/injection.html




                         ・・・ごめんなさい。名前変えただけです。
0030デフォルトの名無しさんNGNG
>>29
正確にいうと、type 2とtype 3がdependency injectionね。
0031デフォルトの名無しさんNGNG
JBossAOP って IoC コンテナですか?
ってか IoC と AOP ってどんな関係? 全然違うもの?
0032デフォルトの名無しさんNGNG
全然違うモノ、
IoCはパターンのひとつ、AOPはある考え方と実践のための技術。
IoCもAOPに使えるかもしらんが、とにかく別物。具ぐれ。
0033デフォルトの名無しさんNGNG
あいまいな質問で申し訳ないが、SpringとWebWork2、どっち選んだらいいと思う?
比較資料希望。
0034デフォルトの名無しさんNGNG
>>33
比較大将間違ってないか、それ?
0035デフォルトの名無しさんNGNG
SpringとWebWork2の比較してるのは知らないな。
サンプルソースでもみて決定するのはいかが?

Spring
http://www.springframework.org/docs/MVC-step-by-step/Spring-MVC-step-by-step.html
WebWork2はWEB+DBPressで特集されてたのでそちらを参照。

だけどSpringのWEBアプリ用クラス使うより、StrutsやWebWork2と組み合わせるほうが一般的みたいよ。
0036デフォルトの名無しさんNGNG
Spring、Pico、Hivemind、XWork、S2 を比較した場合どんな感じですか?

Spring は元祖、
Pico はお手軽、
Hivemind は Tapestry サクーシャ作、
XWork は Webwork2 の一部、
S2 は日本人作

だと思うんすけど、これはここがイイ!とかあったりしますか?
やっぱ Spring がいいんかな。S2 は JTA とかついてきますが他のにも
ついてきたりしますか。
0037デフォルトの名無しさんNGNG
>>36
自前コンポーネントの管理が中心ならPicoが手軽でよい。
HibernateやJTAやVelocityまで巻き込んで管理したいならSpringが便利でよい。
自前コンポーネントの管理が中心で、かつMVCフレームワークが決まってなければ
WebWork2/XWorkというのも良い。
日本語ドキュメントが皆無でもよければHiveMindでよい。
即、実運用に入るというのでなければS2も期待大。

という感じだ。
0038デフォルトの名無しさんNGNG
>>37
Spring が実用向きってことですね。ところで
Spring は S2 みたいに JTA を使うための JTM 付いてますか?
ttp://homepage3.nifty.com/seasar/doc2/dbcp.html

別に JTM サポートする AP サーバか JDBC ドライバが必要ですか?
ってか自分で調べれないくらい英語弱いので S2 待ったほうがいいのか・・・
0039デフォルトの名無しさんNGNG
>>38
APサーバもしくは、JTAをサポートするTransactionManagerと
ConnectionPoolが必要。
0040デフォルトの名無しさんNGNG
>>39
ありがトン! JTM が無い Tomcat なので少し先の S2 で検討します。
Tomcat + Tyrex or JOTM + DBCP + Spring とかは連携があっしには
難しそうなので置いときます。
0041デフォルトの名無しさんNGNG
>>40
レポート期待してる。
0042デフォルトの名無しさんNGNG
Jakarta Projectスレは盛り上がらないときもあれば盛り上がるときもある。
Eclipseスレも最近のところほとんどレスが減った。
それでも週に一回くらいのレスはつく。
ということで無理して立てたスレに文句を言う必要も無い。


このスレはTepestryスレやJakarta スレ並みに
盛り上がると思われたが盛り上がらなかった。それだけのことだ。

しかしおれはこのSpring frameworkというものをはじめて知った。
ちょっくら拝見してみるか。
0043デフォルトの名無しさんNGNG
Spring Framework もそうだが、PicoContainerもXWorkも
J2EE専用じゃないぞ。どっちかっていうと逆だ。
Swingアプリケーションにだって、アプレットにだって適用可能だ。

58 名前:デフォルトの名無しさん 投稿日:04/03/25 22:55
乱立してるから避けられてるんでしょ。
標準化されたら変わるのでは。

59 名前:デフォルトの名無しさん 投稿日:04/03/25 23:35
だれか、JCPにIoC Container Service APIの策定を提案してみたら?

60 名前:デフォルトの名無しさん 投稿日:04/03/25 23:36
IoCコンテナの考え方って、Javaに限った話じゃないよねえ?
CやC++でも同じものがあっても便利なんでわ。

61 名前:デフォルトの名無しさん 投稿日:04/03/25 23:58
>>57
http://wiki.bmedianode.com/Spring/?Spring+Framework
にさ、

> Spring Framework(単にSpringと呼ばれることもあります)は、Rod Johnson氏の
> 著書Expert One-on-One J2EE Design and Development(邦訳は実践J2EE シス
> テムデザイン)の中で紹介されたコードをベースにしたJ2EEアプリケーションフレー
> ムワークです。

って書いてあるからJ2EE用だと思っていた。へぇー。

解説を読む限りはEJBへの依存度を減らしやすくなるという
ことからJ2EEなどの敷居を下げるってイメージが見える。
0044デフォルトの名無しさんNGNG
54 名前:デフォルトの名無しさん 投稿日:04/03/25 22:38
>>2
Java以外のフレームワークやライブラリは有名じゃないとか有償で高価でだれもてをつけられないとか
なんらかの理由があるのかもしれんよ。


55 名前:デフォルトの名無しさん 投稿日:04/03/25 22:40
よく見たらJ2EE用フレームワークか。
そりゃそうだ。敷居が高すぎてなかなか盛り上がらないんだよJ2EE/EJB関連スレは。
JBossスレもなかなか盛り上がらない。
J2EEは見たからに難しいから。  
2chねらでJ2EEを極めた香具師ってそうそういないと思われ、なんだな。


56 名前:デフォルトの名無しさん 投稿日:04/03/25 22:45
J2EEが敷居が高いつか泡沫案件には洋ナシってのはわかるが、
このSpring Frameworkは、J2EEを簡単に
使えるようにしてくれるもんじゃないのか?
Mission Statement
  We believe that:
     ・J2EE should be easier to use
  We aim that:
     ・Spring should be a pleasure to use
とあるし。よく知らんけど興味だけはあり。ageてみる。
0045デフォルトの名無しさんNGNG
>>61
IoCコンテナの主な役割は、Abstract Factoryの外部化、とでもいえばわかりやすい
のかな?J2EEのBusiness Delegateなんかの生成を行わせることが多いみたい、という
ことでJ2EE用と宣伝されるみたいだけどさ。
レイヤー間の依存関係を減らしたいと思う境界全てで有効な仕組みデス。
JDBCやJNDI、JAXPのAPIが、実装から切り離されて隠蔽されているのは多分知ってい
ると思うけど、同じようなことがしたい場所全てで、こういう仕組みを使うと簡単に
実現できるわけさ。


63 名前:1の人 投稿日:04/03/26 01:17
タイトルを"IoCコンテナを語るスレ"にでもしとけば、変なアンチが寄って来ないですんだかな。
ゴメンナサイ。


64 名前:デフォルトの名無しさん 投稿日:04/03/26 01:24
そうだね。次スレはそういうスレタイで。


65 名前:デフォルトの名無しさん 投稿日:04/03/26 03:05
IoCってのは汎用AbstractFactoryってことでええの?
Products(Abstract/Concrete)は自分たちで作って登録して、
使う側はConcreteProductには触れないですむと。

なんか名前があってない気がするな。
漠然とCallBackみたいなもんかと思ってたよ。
0046デフォルトの名無しさんNGNG
>>65
名前はそのうち、DI(Dependency Injection) Containerになる余寒。
Factory + DependencyInjection (+ AOP)だね。
具象クラス同士がお互いに依存しないようにできるから
テストがしやすくなり、メンテナンス性もあがる。

でもSpringって巨大だね。
Hibernateとのインテグレーション機能以外を
使ってる香具師いる?


67 名前:デフォルトの名無しさん 投稿日:04/03/26 14:08
>>62
Abstractory Factoryって
部品追加するとすべての実装工場にまで部品を追加しないと
いけないので良い印象がない。
0047デフォルトの名無しさんNGNG
このスレ復旧完了。
スレ違いなネタ(Javaスレ大杉とか)はカットしますた。
0048デフォルトの名無しさんNGNG
>>47
0049デフォルトの名無しさんNGNG
SEASARとどっちがいいんですか?
それとも競合するものではないのですか?
0050デフォルトの名無しさんNGNG
>>49
んなもん、世界中にユーザのいるSpringにきまっとろーが。
0051デフォルトの名無しさんNGNG
Seasarでいいよもう。
Springいんない。
0052デフォルトの名無しさんNGNG
Seasarの開発者が
>AOPをS2独自ではなく、http://aopalliance.sourceforge.net/
>準拠させようと思います。これで、S2のインターセプタ(Advice)が
>Springでも使えるようになります。
って書いてるね。
AOPアライアンスなんてのがあるんだったら競合するわけじゃない気がしてきたんだが
まあWebSphereとWebLogicが競合なんだからSpringとSeasarもその意味では競合か。
0053デフォルトの名無しさんNGNG
>>52
どうみても、かぶってる(競合している)フレームワークどうしだと思うが。
005449NGNG
日本ではSeasarということでFAですか?
0055デフォルトの名無しさんNGNG
Seasarにいっぴょう
0056デフォルトの名無しさんNGNG
そんなにSeasarっていいのか。
Spring + Hibernate みたいなことが簡単にできる?
ちょっと調べてみないといけないなぁ。
0057デフォルトの名無しさんNGNG
>>56
S2Hibernateってのがあるみたいだね。
0058デフォルトの名無しさんNGNG
>56
透過的トランザクションは対応してる。
S2Hibernateのソース読むとわかるけど、S2Hibernate自体はあんまりたいしたことはして
なくてSessionとSessionFactoryへのBridgeをしてるだけ。
Springみたいなサポートクラスはないのは少し残念。

両方使ってみたけどもORMとの組み合わとからいろいろとSpringの方が便利だな。
プレゼンテーションとかの連携もこれからみたいだし。
他のフレームワークとの連携度でみるとSpringが一歩抜け出してると思われ。
Spring>Pico>Seasar
という感じだけど、どう?

ただ、Seasarは敷居が低いんで、IoCはこれから始めるっていう人にはかなりいいと思う。
0059デフォルトの名無しさんNGNG
>>58
Springみたいなサポートクラスって何?
HibernateTemplateのことなら、SeasarはSessionを
オープン・クローズする必要がないし、
HibernateExceptionもラップしてくれるから
おなじようなもんだと思うけど。
0060デフォルトの名無しさんNGNG
このスレはSeasar2にIOCされますた。
0061デフォルトの名無しさんNGNG
国際オリンピック委員会
0062デフォルトの名無しさんNGNG
Tapestryは3.0 Finalが出ても、ドキュメント類が貧弱。

ってことは、その弟分のIoC、HiveMindも、期待できないのかもな。
0063デフォルトの名無しさんNGNG
S2のPlugin開発がはじまったみたい。
http://www.mobster.jp/wiki/view.jspa?pid=S2Plugin
0064デフォルトの名無しさんNGNG
>>62
作者謹製のTapestry in Actionを買え!っつーことなんでしょうね。
(そういうビジネスモデル?)

すぐにHiveMind in Actionも出る事でしょう。
0065デフォルトの名無しさんNGNG
>>64
完成して(枯れて)ないのに Tapestry in Action なんぞ買えん。
実際に普及するんだったらブラッシュアップされて細部が変更され
Tapestry in Action の内容は過去のものに。

Tapestry は作者のオナニー。
0066デフォルトの名無しさんNGNG
なんかEJB3.0の動向やら、Web上の毎評判聞くだけだと
もの凄い有用かつ将来性のあるフレームワーク(&Iocコンテナ?)っぽいけど
スレが伸びないのは何故?やっぱどっか問題があるのか?
はたまた先進過ぎて使ってるヤシがいないのか...
0067デフォルトの名無しさんNGNG
と言う事で揚げてみる
0068デフォルトの名無しさんNGNG
>>66
日本で本気で使っている人をあまり聞いたことがないね。
JavaWorldで特集されるらしいから、また変わるかも。
0069デフォルトの名無しさんNGNG
>>68
PicoもSpringもバリバリ普通につかってるよ?
使ってないのってあなたのまわりだけじゃないの?
0070デフォルトの名無しさんNGNG
>>69
こんなもの使ってるのってあなたのまわりだけじゃないの?
0071デフォルトの名無しさんNGNG
picoは知らんがSpringはなかなか良いぞ。 フレームワークとの関係を薄く出来るから
他のヤツとも組み合わせやすいし、ダメな部分だけ除外しやすい。

Tapestoryは公式ドキュメントすら殆ど無くて、3.0にもなってまだプレビューリリースみたいな
感じだから、まだ変わっていきそうな予感。 あんまりスマートじゃない部分も多いし。
0072デフォルトの名無しさんNGNG
>>66
EJB=敷居が高い、という印象を拭いきれないから
0073デフォルトの名無しさんNGNG
みんなJBossにしか興味がないから
0074デフォルトの名無しさんNGNG
おいお前らJava Worldで特集組まれてますよ
でも結局EJB3.0+Struts+JBossAOPらへんに呑まれそうな予感
0075デフォルトの名無しさんNGNG
JBoss厨がいるな。JBossAOPが呑むなんてこたないだろう。
007674NGNG
>>75

激しく例えが悪かったが
JBossAOP「らへん」ね
別にAspectJでもいいんだけど。と言うかそっちの方が適切ね

要はSpringって全部入り(+他と連携)目指してるみたいだけど
だったら各層専門のフレームワークを寄せ集めた方がいいんでないの?
と素人目に思った訳だがどうだろう?

教えてSpringマスター!!
0077デフォルトの名無しさんNGNG
>>76
各層専門のフレームワークを寄せ集めて集中管理するのがSpringですよ。
0078デフォルトの名無しさんNGNG
>>77
なるほど、そう考えると便利な気がしてきました
「フレームワークのためのフレームワーク」的発想(であってる?)ですかね
0079デフォルトの名無しさんNGNG
PicoContainer 1.0 final age
0080デフォルトの名無しさんNGNG
pico tte nadesuka?
doko de jouhou nyushu dekirunodesuka?
0081デフォルトの名無しさんNGNG
すみません、どなたかWEBWORKと
SUN APP SERVER 8
上手に合わせて使う方法御存じないでしょうか。
当方EJB(CMP)とWEBWORKを利用して、
プログラミングしたいのですが。
ANTの使い方覚えるよりも、APP SERVER
付属のDEPLOYTOOLを使いたいのです。
御存じの方がいらっしゃいましたら、どうぞよろしく
お願いします。
0082デフォルトの名無しさんNGNG
マルチ
0083デフォルトの名無しさんNGNG
DeployToolなんて、EARだのWARだのをデプロイするだけじゃないのけ。

EARやWARを作成できれば、Antでビルドしようが他を使おうがどうでも
いいんでないの。Ant以外でビルドをする仕組みを今から作るなんて、
ヒマダナオイ、とおもうが。
0084デフォルトの名無しさんNGNG
strutsとの連携ってどういうこと?
Actionクラスを普通にstrutsで定義して、
その中でbeanFactoryからDAO取得とか?
0085デフォルトの名無しさんNGNG
>>84
普通はActionからService呼び出して、その中でDAO使う。
当然、ServiceとDAOはSpringのContextから取得。

要は今までEJBを用いていた所をSpringで差し替えるだけ。
さらに、AOPを用いて各層の間に共通処理を差し込めば尚良し。

全然盛り上がってないのね…日本だとS2推しなの?
0086デフォルトの名無しさんNGNG
漏れはS2推しだなー
0087デフォルトの名無しさんNGNG
SpringやS2などのDIコンテナって局所的に盛り上がってるみたいだけど、メインストリームになるかねぇ?

POJOをプラモのごとく自由に組み合わせてシステム構築って魅力的ではあるけど、コンテナ独自機能も結構多いし。

コンテナ乱立で総崩れの可能性が高いような気がする。
0088デフォルトの名無しさんNGNG
>>87
コンテナ独自のインターフェースが規定されているのはSpring。
S2はそんなことないよ。
0089デフォルトの名無しさんNGNG
S2は取り巻きの盛りあがり方に引いちゃうな。
0090デフォルトの名無しさんNGNG
Springはロッドジョンソンの表紙に引いちゃうな
0091デフォルトの名無しさんNGNG
>>89-90
ちゃんとものを見ような
0092デフォルトの名無しさんNGNG
>>89-91
なずななのはななもないのばな
0093デフォルトの名無しさんNGNG
日本人ならSEASAR使えよ。
0094デフォルトの名無しさんNGNG
日経に比嘉氏の記事が出てたな
0095デフォルトの名無しさんNGNG
Spring使えネ、っていってたな。
0096名無しさん@そうだ選挙に行こうNGNG
正直S2はひが氏以外に大した人材がいない(いても強くコミットしてない)
から先は無いと思う。

それに、Spring作ってる方は「Seaserには負けねー」とは言わないだろうな。
器が違うというか、「オープン」のスタンスが違うと言うか…。
0097名無しさん@そうだ選挙に行こうNGNG
で、>>96から見てSpringはどうなのさ
0098デフォルトの名無しさんNGNG
IoCコンテナ作ってりゃ大なり小なりSpringは意識するんじゃないのかな
それは仕方ないことだし別に悪いことじゃないと思うけどね
JBossだって他のJ2EEサーバには負けねーってノリだけど器が小さいとは思わない
似たようなもんだろ
0099デフォルトの名無しさんNGNG
>>98
JBossは、自作自演してたりするけどな。
0100デフォルトの名無しさんNGNG
100get
0101デフォルトの名無しさんNGNG
>正直S2はひが氏以外に大した人材がいない(いても強くコミットしてない)
>から先は無いと思う。

最近開発を(一部)分担したらしいが、それがうまくいくかどうか。
失敗すればHORBの二の舞か。
0102デフォルトの名無しさんNGNG
HORBってあったねぇ。

あれの失敗の原因って何だろ。

・開発者1人に依存しすぎ、開発者発病であぼーん
・そもそも分散オブジェクトに需要がなかった
0103デフォルトの名無しさんNGNG
OMG様のCORBAとSUN本家のRMIの2強がいちゃあ、
黄色い猿が作ったモンが広がる余地はないだろ。
0104デフォルトの名無しさんNGNG
>>102
標準性が必要な分散オブジェクト技術としては、弱すぎた。
0105103NGNG
あぁ、それと、当時はまだgoogleもなく、常時接続も極めて少なく、インターネット上の情報が少なかった
今みたいなインターネットありきじゃなく、雑誌の情報が主で、プロモーションができてなかったんじゃないかと。

今であれば、それなりに使えたかも。
とりあえず情報少なすぎた。
0106デフォルトの名無しさんNGNG
HORBってclassファイルのバイトコードエンジニアリングでスタブを生成してなかったっけ。

今はそこらじゅうのAOP対応コンテナでやってるけど、当時としては画期的だったような。
0107デフォルトの名無しさんNGNG
>>101
優しいなもまいは。そうやって使いもしないプロダクトにまで気を使ってやるもまいの優しさが報われるのを祈っているぞ
0108デフォルトの名無しさんNGNG
>>107
どうも。
とりあえず生暖かく見守ります。
0109デフォルトの名無しさんNGNG
Springで質問です。

JDBCTemplate.query(String,RowCallbackHandler)というメソッドで
RowCallbackHandlerインターフェースの実装を渡すと、
ResultSetの件数分だけRowCallbackHandlerのprocessRow(ResultSet)が
呼ばれるんですが、これってデータがものすごい数あった場合、
ものすごい回数呼ばれるじゃないですか。

それって性能的にどうなんでしょうか。一回のprocessRowの中でwhileループ
まわしてすべて終わらしてしまうのはよくないですか?
0110デフォルトの名無しさんNGNG
>>109
ttp://d.hatena.ne.jp/koichik/20040427#1083077532
↑よみましょう
0111デフォルトの名無しさんNGNG
Seasarのサイトを見てみた。
「易しさと優しさ」がテーマだと書いてあった。
ダウンロードページを見てみた。
頭のいい人が考える「易しさと優しさ」っていうのは、所詮あんなもんなんだ、と思った。
0112デフォルトの名無しさんNGNG
選択肢が多いことは即ちわかりにくい、という大原則をわかってないらしい。
何ダウンロードすればいいのか、わからない。

あぁ、わかりやすさはテーマではないのか。
わかってる人に易しく優しければいいんだな。
0113デフォルトの名無しさんNGNG
彡ミミミミ彡彡
巛巛巛巛彡彡  < こいつマジでアホやな
         i       ____________
   ⌒   ⌒ |       | ___________
  -・=- , (-・=-        | |
  ⌒ ) ・ ・)( ^ヽ      | |
   ┏━━┓ |      | |112 名前:デフォルトの名無しさん
   ┃ヽ三ノ ┃ |.      | |   選択肢が多いことは即ちわかりにくい
.    ┗━┛ ノ        | |   ,ィー-ーュァ
`- 、 _ー-ーイ/.       | | / '`'`'`ヽ
`  ̄ l l  ̄ `ヽ、.      |/     ィソ
   ヽ ヽ     >ヽ   /     ,ノ________
    \ \  / ノ\/ヽ、_ ,,,ィ'"_________
 ン    \ `´ /  ン      /ニユニユニユニユニユニユニユニユ
   \  / /          /エエエエエエエエI ロエエエエエエ
0114デフォルトの名無しさんNGNG
>>112
その辺は多分どっちもどっち。
Springのようにすべてが取り込まれる方が良い人も
いるでしょうし、S2のようにコア以外は使う人に意志に任せる
というのもありだと思う。
個人的には必要なのは自分で選べた方が良いけどね。
■ このスレッドは過去ログ倉庫に格納されています