Java Spring Frameworkを語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG乱立するフレームワークと競合するプロトコルの嵐のなかで、
リスクの高い決断を余儀なくされているJavaデベロッパ、プ
ロジェクトマネージャに対する福音です。
語るべし。
0011デフォルトの名無しさん
NGNG> SpringでPicoをつかうってのもあったような。
SpringじゃなくてHibernateだった。
00125=6=7=8改め春一番
NGNG自分なりの意見を。
Pico ContainerはType2, Type3両方をサポートしている。SpringはType3のみ。
よって使い勝手としてはPico Containerに軍配が上がる。
でもそれはIoCフレームワークとしてみた観点のみ。
Springはそれ以外にJDBC(O/Rマッピング)、メール、Webプレゼンテーション、AOP
と様々なレイヤをサポートしている為、1つのアプリケーションに一貫性を持たせるには
やはりSpringがいい選択だと思う。(個人的にはWeb周りはまだまだという感じだが。)
ネタ振りとしてリンクもはっとこう。
IoCとは何か、DAOパターンへの適用、PicoContainerとSpringの比較
http://today.java.net/pub/a/today/2004/02/10/ioc.html
HiveMindとSpringの比較
http://javatapestry.blogspot.com/archives/2004_02_01_javatapestry_archive.html#107757766902671389
>>10さん
Type3かな。Type2のコンストラクタベースは深く突っ込んで使うには少々使いづらい。
XMLの肥大化問題はもっとこの辺が流行ってくれば、ツールが対応してくれるでしょ、と楽観。
0013春一番
NGNGHibernateでPico??
Spring + Hibernateであれば幾つかリソースがあるね。
Hibernate - Data Access with the Spring Framework
http://hibernate.bluemars.net/110.html
Spring AOP with Hibernate
http://www.springframework.org/docs/wiki/Spring_AOP_with_Hibernate.html
0014デフォルトの名無しさん
NGNGType2とType3が逆じゃない?
Type2がSetterベースで、Type3がコンストラクタベースだよね。
それから、Spring Framework 1.0 M3以降はType2に加えてType3 IoCも
サポートされています。Type2(Setterベース)の場合、
<bean id="userManager" class="net.2ch.dao.UserManager">
<property name="dataSource"><ref bean="myDataSource"/></property>
</bean>
と書いていたものがType3(コンストラクタベース)では、
<bean id="userManager" class="net.2ch.dao.UserManager">
<constructor-arg><ref bean="myDataSource"/></constructor-arg>
</bean>
のようになる。
この場合、UserManagerインターフェースのコンストラクタのシグネチャは
public UserManager(DataSource dataSource);
という感じで。
0016デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1068207164/542-543
0017デフォルトの名無しさん
NGNG参戦してきますた。
それにしても、AOPすれも多すぎだし、
各スレの依存関係が強いね。
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGリリース後はAPI変えないみたいなこといってたから
かけこみで変更しとけってのががおおかったんじゃないの?
0021デフォルトの名無しさん
NGNG稼動中にapplicationContext.xmlを編集した後、内部でrefresh()を呼び出しても
全然内容が更新されない。
何でか分かる人いる?(てか、そもそもrefresh()がそういう用途にあるのかも分からん)
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGそのrefresh()ってどのクラスにあるの?
m4では見つからなかったけど。
rc2落としてみるか。
0024デフォルトの名無しさん
NGNGAbstractApplicationContext っす
0025デフォルトの名無しさん
NGNGコードを見る限りは、refreshBeanFactoryで、
更新されそうだけど。
デバッガで追うしかない?
00261さん
NGNG0027デフォルトの名無しさん
NGNGそういえば、Spring MVCってどうよ。
WebWorkのほうがいいって香具師もいるが。
Spring単独の話題より、比較の方が特徴が分かって面白い。
0028デフォルトの名無しさん
NGNGSpringのMVCはフレキシブルすぎて「MVC初心者」には使いこなせない感じ。
FormやValidatorやらも一通り揃ってて機能的には申し分ないんだけど、
多人数のプロジェクトで使おうとするとSpringのMVCをベースにもう一段
自分用MVCフレームワークを作るような構造にしないと、StrutsのActionで
ヒーヒー言ってるような人たちにはつらいと思う。
0029デフォルトの名無しさん
NGNG「Inversion of Controlコンテナと Dependency Injectionパターン」
http://www.kakutani.com/trans/fowler/injection.html
・・・ごめんなさい。名前変えただけです。
0030デフォルトの名無しさん
NGNG正確にいうと、type 2とtype 3がdependency injectionね。
0031デフォルトの名無しさん
NGNGってか IoC と AOP ってどんな関係? 全然違うもの?
0032デフォルトの名無しさん
NGNGIoCはパターンのひとつ、AOPはある考え方と実践のための技術。
IoCもAOPに使えるかもしらんが、とにかく別物。具ぐれ。
0033デフォルトの名無しさん
NGNG比較資料希望。
0034デフォルトの名無しさん
NGNG比較大将間違ってないか、それ?
0035デフォルトの名無しさん
NGNGサンプルソースでもみて決定するのはいかが?
Spring
http://www.springframework.org/docs/MVC-step-by-step/Spring-MVC-step-by-step.html
WebWork2はWEB+DBPressで特集されてたのでそちらを参照。
だけどSpringのWEBアプリ用クラス使うより、StrutsやWebWork2と組み合わせるほうが一般的みたいよ。
0036デフォルトの名無しさん
NGNGSpring は元祖、
Pico はお手軽、
Hivemind は Tapestry サクーシャ作、
XWork は Webwork2 の一部、
S2 は日本人作
だと思うんすけど、これはここがイイ!とかあったりしますか?
やっぱ Spring がいいんかな。S2 は JTA とかついてきますが他のにも
ついてきたりしますか。
0037デフォルトの名無しさん
NGNG自前コンポーネントの管理が中心ならPicoが手軽でよい。
HibernateやJTAやVelocityまで巻き込んで管理したいならSpringが便利でよい。
自前コンポーネントの管理が中心で、かつMVCフレームワークが決まってなければ
WebWork2/XWorkというのも良い。
日本語ドキュメントが皆無でもよければHiveMindでよい。
即、実運用に入るというのでなければS2も期待大。
という感じだ。
0038デフォルトの名無しさん
NGNGSpring が実用向きってことですね。ところで
Spring は S2 みたいに JTA を使うための JTM 付いてますか?
ttp://homepage3.nifty.com/seasar/doc2/dbcp.html
別に JTM サポートする AP サーバか JDBC ドライバが必要ですか?
ってか自分で調べれないくらい英語弱いので S2 待ったほうがいいのか・・・
0039デフォルトの名無しさん
NGNGAPサーバもしくは、JTAをサポートするTransactionManagerと
ConnectionPoolが必要。
0040デフォルトの名無しさん
NGNGありがトン! JTM が無い Tomcat なので少し先の S2 で検討します。
Tomcat + Tyrex or JOTM + DBCP + Spring とかは連携があっしには
難しそうなので置いときます。
0041デフォルトの名無しさん
NGNGレポート期待してる。
0042デフォルトの名無しさん
NGNGEclipseスレも最近のところほとんどレスが減った。
それでも週に一回くらいのレスはつく。
ということで無理して立てたスレに文句を言う必要も無い。
このスレはTepestryスレやJakarta スレ並みに
盛り上がると思われたが盛り上がらなかった。それだけのことだ。
しかしおれはこのSpring frameworkというものをはじめて知った。
ちょっくら拝見してみるか。
0043デフォルトの名無しさん
NGNGJ2EE専用じゃないぞ。どっちかっていうと逆だ。
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>>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デフォルトの名無しさん
NGNGIoCコンテナの主な役割は、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名前はそのうち、DI(Dependency Injection) Containerになる余寒。
Factory + DependencyInjection (+ AOP)だね。
具象クラス同士がお互いに依存しないようにできるから
テストがしやすくなり、メンテナンス性もあがる。
でもSpringって巨大だね。
Hibernateとのインテグレーション機能以外を
使ってる香具師いる?
67 名前:デフォルトの名無しさん 投稿日:04/03/26 14:08
>>62
Abstractory Factoryって
部品追加するとすべての実装工場にまで部品を追加しないと
いけないので良い印象がない。
0047デフォルトの名無しさん
NGNGスレ違いなネタ(Javaスレ大杉とか)はカットしますた。
0048デフォルトの名無しさん
NGNG乙
0049デフォルトの名無しさん
NGNGそれとも競合するものではないのですか?
0050デフォルトの名無しさん
NGNGんなもん、世界中にユーザのいるSpringにきまっとろーが。
0051デフォルトの名無しさん
NGNGSpringいんない。
0052デフォルトの名無しさん
NGNG>AOPをS2独自ではなく、http://aopalliance.sourceforge.net/に
>準拠させようと思います。これで、S2のインターセプタ(Advice)が
>Springでも使えるようになります。
って書いてるね。
AOPアライアンスなんてのがあるんだったら競合するわけじゃない気がしてきたんだが
まあWebSphereとWebLogicが競合なんだからSpringとSeasarもその意味では競合か。
0053デフォルトの名無しさん
NGNGどうみても、かぶってる(競合している)フレームワークどうしだと思うが。
005449
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNGSpring + Hibernate みたいなことが簡単にできる?
ちょっと調べてみないといけないなぁ。
0057デフォルトの名無しさん
NGNGS2Hibernateってのがあるみたいだね。
0058デフォルトの名無しさん
NGNG透過的トランザクションは対応してる。
S2Hibernateのソース読むとわかるけど、S2Hibernate自体はあんまりたいしたことはして
なくてSessionとSessionFactoryへのBridgeをしてるだけ。
Springみたいなサポートクラスはないのは少し残念。
両方使ってみたけどもORMとの組み合わとからいろいろとSpringの方が便利だな。
プレゼンテーションとかの連携もこれからみたいだし。
他のフレームワークとの連携度でみるとSpringが一歩抜け出してると思われ。
Spring>Pico>Seasar
という感じだけど、どう?
ただ、Seasarは敷居が低いんで、IoCはこれから始めるっていう人にはかなりいいと思う。
0059デフォルトの名無しさん
NGNGSpringみたいなサポートクラスって何?
HibernateTemplateのことなら、SeasarはSessionを
オープン・クローズする必要がないし、
HibernateExceptionもラップしてくれるから
おなじようなもんだと思うけど。
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNG0062デフォルトの名無しさん
NGNGってことは、その弟分のIoC、HiveMindも、期待できないのかもな。
0063デフォルトの名無しさん
NGNGhttp://www.mobster.jp/wiki/view.jspa?pid=S2Plugin
0064デフォルトの名無しさん
NGNG作者謹製のTapestry in Actionを買え!っつーことなんでしょうね。
(そういうビジネスモデル?)
すぐにHiveMind in Actionも出る事でしょう。
0065デフォルトの名無しさん
NGNG完成して(枯れて)ないのに Tapestry in Action なんぞ買えん。
実際に普及するんだったらブラッシュアップされて細部が変更され
Tapestry in Action の内容は過去のものに。
Tapestry は作者のオナニー。
0066デフォルトの名無しさん
NGNGもの凄い有用かつ将来性のあるフレームワーク(&Iocコンテナ?)っぽいけど
スレが伸びないのは何故?やっぱどっか問題があるのか?
はたまた先進過ぎて使ってるヤシがいないのか...
0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNG日本で本気で使っている人をあまり聞いたことがないね。
JavaWorldで特集されるらしいから、また変わるかも。
0069デフォルトの名無しさん
NGNGPicoもSpringもバリバリ普通につかってるよ?
使ってないのってあなたのまわりだけじゃないの?
0070デフォルトの名無しさん
NGNGこんなもの使ってるのってあなたのまわりだけじゃないの?
0071デフォルトの名無しさん
NGNG他のヤツとも組み合わせやすいし、ダメな部分だけ除外しやすい。
Tapestoryは公式ドキュメントすら殆ど無くて、3.0にもなってまだプレビューリリースみたいな
感じだから、まだ変わっていきそうな予感。 あんまりスマートじゃない部分も多いし。
0072デフォルトの名無しさん
NGNGEJB=敷居が高い、という印象を拭いきれないから
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGでも結局EJB3.0+Struts+JBossAOPらへんに呑まれそうな予感
0075デフォルトの名無しさん
NGNG007674
NGNG激しく例えが悪かったが
JBossAOP「らへん」ね
別にAspectJでもいいんだけど。と言うかそっちの方が適切ね
要はSpringって全部入り(+他と連携)目指してるみたいだけど
だったら各層専門のフレームワークを寄せ集めた方がいいんでないの?
と素人目に思った訳だがどうだろう?
教えてSpringマスター!!
0077デフォルトの名無しさん
NGNG各層専門のフレームワークを寄せ集めて集中管理するのがSpringですよ。
0078デフォルトの名無しさん
NGNGなるほど、そう考えると便利な気がしてきました
「フレームワークのためのフレームワーク」的発想(であってる?)ですかね
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNGdoko de jouhou nyushu dekirunodesuka?
0081デフォルトの名無しさん
NGNGSUN APP SERVER 8
上手に合わせて使う方法御存じないでしょうか。
当方EJB(CMP)とWEBWORKを利用して、
プログラミングしたいのですが。
ANTの使い方覚えるよりも、APP SERVER
付属のDEPLOYTOOLを使いたいのです。
御存じの方がいらっしゃいましたら、どうぞよろしく
お願いします。
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGEARやWARを作成できれば、Antでビルドしようが他を使おうがどうでも
いいんでないの。Ant以外でビルドをする仕組みを今から作るなんて、
ヒマダナオイ、とおもうが。
0084デフォルトの名無しさん
NGNGActionクラスを普通にstrutsで定義して、
その中でbeanFactoryからDAO取得とか?
0085デフォルトの名無しさん
NGNG普通はActionからService呼び出して、その中でDAO使う。
当然、ServiceとDAOはSpringのContextから取得。
要は今までEJBを用いていた所をSpringで差し替えるだけ。
さらに、AOPを用いて各層の間に共通処理を差し込めば尚良し。
全然盛り上がってないのね…日本だとS2推しなの?
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNGPOJOをプラモのごとく自由に組み合わせてシステム構築って魅力的ではあるけど、コンテナ独自機能も結構多いし。
コンテナ乱立で総崩れの可能性が高いような気がする。
0088デフォルトの名無しさん
NGNGコンテナ独自のインターフェースが規定されているのはSpring。
S2はそんなことないよ。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGちゃんとものを見ような
0092デフォルトの名無しさん
NGNGなずななのはななもないのばな
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG0096名無しさん@そうだ選挙に行こう
NGNGから先は無いと思う。
それに、Spring作ってる方は「Seaserには負けねー」とは言わないだろうな。
器が違うというか、「オープン」のスタンスが違うと言うか…。
0097名無しさん@そうだ選挙に行こう
NGNG0098デフォルトの名無しさん
NGNGそれは仕方ないことだし別に悪いことじゃないと思うけどね
JBossだって他のJ2EEサーバには負けねーってノリだけど器が小さいとは思わない
似たようなもんだろ
0099デフォルトの名無しさん
NGNGJBossは、自作自演してたりするけどな。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG>から先は無いと思う。
最近開発を(一部)分担したらしいが、それがうまくいくかどうか。
失敗すればHORBの二の舞か。
0102デフォルトの名無しさん
NGNGあれの失敗の原因って何だろ。
・開発者1人に依存しすぎ、開発者発病であぼーん
・そもそも分散オブジェクトに需要がなかった
0103デフォルトの名無しさん
NGNG黄色い猿が作ったモンが広がる余地はないだろ。
0104デフォルトの名無しさん
NGNG標準性が必要な分散オブジェクト技術としては、弱すぎた。
0105103
NGNG今みたいなインターネットありきじゃなく、雑誌の情報が主で、プロモーションができてなかったんじゃないかと。
今であれば、それなりに使えたかも。
とりあえず情報少なすぎた。
0106デフォルトの名無しさん
NGNG今はそこらじゅうのAOP対応コンテナでやってるけど、当時としては画期的だったような。
0107デフォルトの名無しさん
NGNG優しいなもまいは。そうやって使いもしないプロダクトにまで気を使ってやるもまいの優しさが報われるのを祈っているぞ
0108デフォルトの名無しさん
NGNGどうも。
とりあえず生暖かく見守ります。
0109デフォルトの名無しさん
NGNGJDBCTemplate.query(String,RowCallbackHandler)というメソッドで
RowCallbackHandlerインターフェースの実装を渡すと、
ResultSetの件数分だけRowCallbackHandlerのprocessRow(ResultSet)が
呼ばれるんですが、これってデータがものすごい数あった場合、
ものすごい回数呼ばれるじゃないですか。
それって性能的にどうなんでしょうか。一回のprocessRowの中でwhileループ
まわしてすべて終わらしてしまうのはよくないですか?
0110デフォルトの名無しさん
NGNGttp://d.hatena.ne.jp/koichik/20040427#1083077532
↑よみましょう
■ このスレッドは過去ログ倉庫に格納されています