1 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 23:29:27 ] 一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。 ってどうよ?みんなもう使ってるの? 使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。 本家 seasar.org www.seasar.org/ Seasar Projectグループ seasarproject.g.hatena.ne.jp/ ひがやすをblog d.hatena.ne.jp/higayasuo/ 前スレ その1 pc5.2ch.net/test/read.cgi/tech/1092044210/ その2 pc5.2ch.net/test/read.cgi/tech/1098885253/ その3 pc8.2ch.net/test/read.cgi/tech/1102862221/ その4 pc8.2ch.net/test/read.cgi/tech/1119608621/ その5 pc8.2ch.net/test/read.cgi/tech/1135986150/ その6 pc8.2ch.net/test/read.cgi/tech/1148204750/ 関連スレ Java Spring Frameworkを語るスレ pc8.2ch.net/test/read.cgi/tech/1077465099/ Dependncy Injectionを語るスレ pc8.2ch.net/test/read.cgi/tech/1099827125/ Java⇔RDBのMapping-Frameworkを語るThre Vol.4 pc8.2ch.net/test/read.cgi/tech/1134701684/
658 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 20:54:29 ] >>657 www.seasar.org/#communication.java
659 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 21:20:23 ] さんくす
660 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 22:01:27 ] S2JMSは期待してたんだけどな……orz
661 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 22:59:13 ] 獄長の出番ですよ。
662 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 23:27:50 ] >>655 arton本は、割とアーキテクチャ寄り。 そういうのが知りたい人とか、学びたい人には、もってこい。 S2JSFの実装とかTipsとかリファレンスを期待している人にはNG。
663 名前:デフォルトの名無しさん [2006/11/16(木) 23:57:11 ] Teeda というのが存在している以上、S2JSFって頑張って使う必要無いんジャマイカン?
664 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 00:10:15 ] 本はいいからドキュメントを早く出してほしい Javadocプロジェクトみたいに誰か書かないかな もちろん獄長のレビュー付きw
665 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 01:34:03 ] HOT deployっていうのの原理が分からないんだけど、例えばstatic finalな定数を変更したら、 その定数を使ってる全クラスを再コンパイルしないと変更が正しく反映されないよね。 static finalな定数はそれを使っているところにコンパイル時に展開されてしまうから。 Eclipseだと保存した時にコンパイルする必要があるクラスはすべて再コンパイルされるけど、 この機能に依存してるってことかな? Netbeansみたいにコンパイル時にはAntでコンパイルしてwar作って配布するようなのだと 役に立たないかな?
666 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 02:17:40 ] S2Seasar
667 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 10:30:02 ] >>665 その定数に依存しているクラスが全部際コンパイルされるなら、 たぶん、NetBeansでも大丈夫じゃないかな。 っていうかNetBeansって、war作って配布しないとだめなの。 それだと激しく面倒なんだけど。
668 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 11:55:33 ] >>667 どこが面倒? 実行ボタンひとつで全部勝手にやってくれるけど。
669 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 12:32:10 ] >>668 面倒ではないのか。 でも自動とはいえ、antでコンパイルして、 war作って、アプリケーションサーバを再起動させるのは 時間がかかるよl。 再起動ではなくてautoreloadかもしれんが同じこと。 Eclipseならソースを保存した瞬間にすべて 準備完了だから。
670 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 12:48:20 ] EclipseのCTRL+Sに相当するのはF9かF11おすだけ Tomcatも連携はwar使ってなくてbuildつかってるはずだ だからJSPとかの変更は何もする必要ない 俺もHOT deployの仕組みしらんからなんともいえないけど
671 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 13:57:24 ] >>669 アプリケーションだけ再起動だから、アプリケーションサーバーごと再起動するほどの時間はかからないよ。
672 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 14:27:50 ] WebObjectsというアップル製フレームワーク向けにある ProjectWONDERというオープンソースのフレームワークでも HOT Deployと同様の機能があってな。そっちはクラスの追加などがあったら 再ビルドの必要があったのでのぞいてみたらクラスを動的に読み込みなおすなどいろいろと頑張ってるものだった。 ナツカシヤ-
673 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 14:40:31 ] Eclipseプラグインのdoltengに関するページはどこにあるかいな? HTMLとPageクラスをCtrl+5で切り替えれないのだけど、 HTMLファイルのエディタを何に指定しないといけないのかな。 関係者もしくは知っている方は教えてクレくれ。
674 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 15:33:30 ] >>670 保存したときに、再コンパイルが必要なクラスが 自動的に再コンパイルされるなら、 NetBeansでもHOT deployされると思うよ。
675 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 15:52:30 ] 実験君でDolteng入れたらマタタビのショートカットが軒並み死んじゃったー マタタビは仕事で使ってんのでショクーですよ。
676 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 22:24:51 ] hotdeployってただのクラスローダか なら、NetBeansとかIDEには影響せんわ
677 名前:デフォルトの名無しさん [2006/11/18(土) 00:01:38 ] PDFをJavaで作るなら何がお勧めでつか? デザイナーツールが優秀なのがいいでつ。
678 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:15:31 ] よくわからないまま返事すると。 Jasper Report?
679 名前:デフォルトの名無しさん [2006/11/18(土) 00:16:49 ] >>677 S2PDF
680 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:17:26 ] >>678 Jasper ReportってGUIで帳票作成できまつか? 日本語フォントも問題なし?
681 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:19:46 ] >>679 ネタでつか?
682 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 00:58:31 ] >>681 このスレでその質問してネタ以外の何を期待する?
683 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 01:01:50 ] S2Jasper
684 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 16:49:38 ] S2Adobe
685 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 17:16:05 ] SuperSolenoid DAO
686 名前:デフォルトの名無しさん [2006/11/18(土) 22:39:53 ] 前のバージョンのライブラリファイルはどうやって手に入れるの? s2strutsとか
687 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 23:08:46 ] >>686 seasarproject.g.hatena.ne.jp/keyword/S2 リリース履歴#p4
688 名前:デフォルトの名無しさん [2006/11/18(土) 23:41:34 ] >>687 thanks助かりました!!
689 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 01:44:45 ] S2Dao+S2(現最新版)でHot Deployをしようとすると、getComponent()時に 「[ESSR0064]クラスXXDaoのコンストラクタが見つかりません」と出てしまいました。 インターフェースなのにクラスとして扱われているようです。 Cool Deployだとちゃんと動くのですが、Hot Deployだと特別な設定が必要なのでしょうか? diconファイルはresources/以下にあるものをそのまま使っています。
690 名前:689 mailto:sage [2006/11/19(日) 10:40:27 ] 動きました。 獄長さんありがとうございました。
691 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 10:59:31 ] >>677 JooReportsつうものもある。 ちなみにこれはOpenOfficeを常駐させてJavaから制御するという超富豪アプローチw
692 名前:677 mailto:sage [2006/11/19(日) 14:21:51 ] 漏れも動きました。 獄長さんありがとうございました。
693 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 21:57:24 ] >>691 むむっ。 これはいけそうでつ。 ありりんd!! ところで、Eclipse BIRT ってのは、あんまり人気なしでつか?
694 名前:デフォルトの名無しさん [2006/11/21(火) 00:09:32 ] S2Struts1.2のexample全く動かんな。 tomcat起動時にエラー絶対でない?
695 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 01:09:56 ] S2Daoの使い方がさっぱりわかりません。 初心者でもわかりやすく説明してくれるサイトか本ってないですか? おしえてエロイ人!!
696 名前:デフォルトの名無しさん [2006/11/22(水) 02:09:15 ] >>692 SeasarのHP見てわからなかったら、絶対使わないほうがいいと思う。
697 名前:デフォルトの名無しさん [2006/11/22(水) 02:09:47 ] >>696 >>692 じゃなくて >>695 でした。。
698 名前:デフォルトの名無しさん [2006/11/22(水) 08:48:14 ] >SeasarのHP見てわからなかったら、絶対使わないほうがいいと思う。 それじゃかわいそうなので俺がつくってやろう。 どんなサイトがほしい? >>695
699 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 08:49:31 ] >>698 は神か仏か?はたまた悪魔か関係者か?w
700 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 12:14:10 ] >神か仏か?はたまた悪魔か関係者か?w 麻薬みたいなもんだな。
701 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 12:59:48 ] >>696 禿同 >>698 それってどうなんだろ? HPみてもわからんってのは、ものすごくレベルがたりないと思われ。 まずはservlet jdbcで基本を理解した方がいいような気がする。 こういう指摘の方が優しくね?
702 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 14:42:11 ] >>701 > HPみてもわからんってのは、ものすごくレベルがたりないと思われ。 これぞSeasarクオリティ。 あのHPでこれだけ言い切れるのが、初心者を大切にしない姿勢を如実に表している。
703 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 18:25:15 ] なんの初心者かによるけどな。 確かにseasar初心者にわかりやすいページじゃないけど、 java初心者じゃなければなんとかわかるだろ。 そういうこといってんじゃないのか? まぁ、よりわかりやすいページができるのはwelcome
704 名前:デフォルトの名無しさん [2006/11/22(水) 20:19:50 ] 評論はエンドユーザのためのもの、フィードバックは製作者のためのもの。 評論やフィードバックを、それぞれ、エンドユーザや製作者にプラスの 効果をもたらすものという意味の物に限定するならだけど。 エンドユーザに向けて発信された「ダメダメだね」といったにわか評論を、 作者自身が見て解釈してそこから改善のためのアイデアを見出すことは もちろんあっていい。 だがそれは情報を「作者自身がフィードバックしている」のであって、 決して「にわか評論家が実装にフィードバックした」訳では無い。 だからこのような場合も含めてにわか評論家が 「フィードバックしてやってるんだからありがたく思え、 感謝されこそすれ罵られる謂れは無い」 などと言うのは、勘違いもいいところなんだな。 またフィードバックは製作者の言葉でされなければあまり役に立たないという事もまた、 問題をややこしくしていると思う。 エンドユーザはエンドユーザの言葉で「使いにくいので直してください」 といった意見を直接作者に向けてフィードバックすることがある。 しかし「どこがどのように、どれだけ使いにくいのか。どうあるべきなのか。」 といった具体的で有用な情報でない限り、それらの「フィードバック」はノイズにしかならない。 善意で送ってくれたんだろうけど、却って困ってしまうこともある。 まったく誰からもフィードバックを貰えないのと、 価値あるフィードバックが可能な有能な人に見向きもされなくて あまり意味の無いフィードバックしか貰えないのと、 どっちもどっちという気がするよ。
705 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 20:23:45 ] 704 マルチ荒らし? pc8.2ch.net/test/read.cgi/tech/1159315598/828
706 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 20:52:33 ] >>704 要するに、コミッタ以外は黙ってろ、って事か。
707 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 20:59:38 ] d.hatena.ne.jp/wildcats/20061116/1163683184 www.misao.gr.jp/~koshian/?20061120S2 d.hatena.ne.jp/wildcats/20061120/1164036332 www.misao.gr.jp/~koshian/?20061121S1 d.hatena.ne.jp/wildcats/20061121/1164119970 この流れと関係ありそうだが>704の発信源はどこだ? >706 むしろ芦ピー以外は黙ってろ、って事かもなw wildcatsが↓読んだのが発端だった場合 pc8.2ch.net/test/read.cgi/prog/1153067625/181-184
708 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 21:37:39 ] 705です。 >>707 のような解釈もできるのか。 でもなぜRubyスレッドにまで?という疑問は残るんですが。
709 名前:707 mailto:sage [2006/11/22(水) 21:52:41 ] >>708 その解釈ネタw マ板のネタ元がbabieだからRubyも無縁じゃないがな
710 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 23:08:41 ] >>707 むしろ脚Pは黙ってろ、って(r
711 名前:デフォルトの名無しさん mailto:sage [2006/11/22(水) 23:45:00 ] >>710 もうKuroの話はいいよ。まだやるの。 ネットウォッチ板に悪田(健)大将軍のスレを立ててもいい?
712 名前:デフォルトの名無しさん [2006/11/23(木) 03:07:17 ] まあS2Daoのドキュメントが不親切なのは同意。
713 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 03:58:19 ] 695です。 HPみながらやってみて理解できました。 優しさの「や」の字も無い説明だった。
714 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 04:22:27 ] solaris10のバナーがでかすぎる
715 名前:698 [2006/11/23(木) 10:16:05 ] どんなサイトがほしいか教えてくれ。>>695 >> 701 >それってどうなんだろ? >HPみてもわからんってのは、ものすごくレベルがたりないと思われ。 >まずはservlet jdbcで基本を理解した方がいいような気がする。 > >こういう指摘の方が優しくね? 指摘するだけじゃ俺にとってのメリット全然ないじゃん。 「質問」しかしてないやつに「意見」を言わせると、 納得の「意見」が出てきて、ためになるかと思ったんだが・・・ 期待した俺が馬鹿だった。2chに期待した俺が馬鹿だった。 >>695 「つかえねーよボケ」の内容を10ぐらい出せ! 「XXXXXX」のサイトが「俺にとっては」すげーわかりやすいぜ!の例をいくつか出せ!
716 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 11:06:17 ] 別にS2Daoに文句があるわけではないが、敢えて挙げてみるのも面白そうだな 俺はO/Rマッパーの検討をしたとき、N:1の関連しか持てないのを知って採用を見送った。 マスタデータなどを関連づけることは出来るけど、親データから子データへの関連は 持てないってことだからな どちらかというと、O/RマッパーというよりSQL作成ツールという印象だな 関連を色々辿っていってEntity内でロジック実行するような処理よりも 検索・表示用にSQLを駆使するような処理に向いてそう
717 名前:デフォルトの名無しさん mailto:age [2006/11/23(木) 11:21:04 ] 何かを根本的に間違えているか、勘違いしてないか?
718 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 11:49:53 ] どうせ2chだから気にしないでくれw 「質問しかしてないやつに意見を言わせる」って部分にちょっと興味を持っただけだから
719 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:30:38 ] おれも1:N関連を取得しないのが最初なんでか分からなかったクチだ。 今はできるのか? 1:Nは遅延ロード無しでJOINだけでは、1にNが複数種類ぶらさがってるときなんかに 全データを一括取得できないこともあるので、遅延ロードしない仕組みのS2DaoだとNを 取ってこないのは納得は出来たんだけど、はっきりどっかに「1:Nマッピングはサポートし てない。理由はしかじか」書いとくといいかもしれない。 「S2Daoでできること」はすでにいろいろ書いてあるので、「S2Daoにできない こと」を(もしあるなら)理由付きで書くといいかも。
720 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:48:42 ] ORマッパなんて星の数ほどあるしもうお腹いっぱい S2DAOだがS2ADOだかしらんが、もうSQL直書きのJDBCでいいよ
721 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 15:56:17 ] >>716 × O/RマッパーというよりSQL作成ツール ○ O/RマッパーというよりSQL実行ツール S2DaoのSQLの自動作成はおまけ 自分でガリガリかいたSQLを実行させるのがS2Daoの真骨頂
722 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 16:53:54 ] >>716 > 検索・表示用にSQLを駆使するような処理に向いてそう そうですかね? 初心者のような単純なSELECTしかしない人向けじゃないかな。 検索条件や表示すべき情報が複雑で駆使する必要があればあるほど、痛いことになるとおもうが?
723 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 16:55:14 ] >>721 俺もSQL大好き派なので、そう思った。
724 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 16:56:31 ] 721と723(おれ)にはさまれて722が 全く逆の事をいっておるのう
725 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 17:02:25 ] >>722 単純なSELECTならDbUtilsで十分じゃないか?
726 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 17:17:05 ] >>725 SELECT a.id,a.name,b.name FROM a INNER JOIN b ON (bid) INNER JOIN c ON (cid) WHERE c.visible = 1 ; S2Daoでこれが簡単にできるかな?って話なんですが 簡単にできますか?
727 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 17:27:46 ] >>726 ごめん、これのどの辺が複雑なのか、 S2Daoで簡単にできなさそうと判断してしまうのか、 誰か説明キボンヌ。
728 名前:725 mailto:sage [2006/11/23(木) 17:58:49 ] >>726 単純なSELECTならDbUtilsで十分じゃないか?
729 名前:デフォルトの名無しさん [2006/11/23(木) 19:07:58 ] やだよ、SELECT 〜 なんてコード中に入れるなんてさー。
730 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 19:13:19 ] 中の人は>726程度のことで悩んでるのにも分かるようなドキュメントを書くべき
731 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 19:13:39 ] >>726 つまりJOINを簡単に書きたいってこと? だったらHibernateを使えばいいと思う もっと複雑なSQL書くのはS2Daoより面倒になるけど
732 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:04:25 ] >>727 S2Daoでやる簡単な方法があるんですか? なさそう ありそう の話をしてるんじゃない。 方法あるなら教えてよ。話はそれからだよ? 僕は今まで探してもみつからなかったんですが? 人に説明の出来ない技術なんていりませんよ アセンブラやればいいんじゃないですか?
733 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:22:13 ] >>732 なんで切れ気味なんだよw @Bean(table="a") public class A{ private B b; @Relation(relationNo=0, relationKey="bid") public B getB(){ return b; } public void setB(B b){ this.b = b; } private C c; @Relation(relationNo=2, relationKey="cid") public C getC(){ return c; } public void setC(C c){ thic.c = c; } } @S2Dao(bean=A.class) public interface ADao{ @Query("c.visible=?") public A getA(int sw); } こういうことじゃなくて?
734 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:26:39 ] >>733 relationNoって途中抜けてもOKなんだっけ? 0から始めずにハマった事は覚えているけど、連続していない場合ってのは試したことがないな。
735 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 20:30:50 ] >>734 ごめん、タイポ
736 名前:721 mailto:sage [2006/11/23(木) 21:04:20 ] >>732 A.java ======================================== public class A{ private Integer id; private String aname; private String bname; 〜 } ADao.java ======================================== public interface ADao { public Class BEAN = A.class; public List find(); } ADao_find.sql ======================================== SELECT a.id, a.name aname, b.name bname FROM a INNER JOIN b ON (a.bid = b.id) INNER JOIN c ON (a.cid = c.id) WHERE c.visible = 1 S2DaoがSQL実行ツールってのはこういうこと
737 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:11:15 ] >>732 > 方法あるなら教えてよ。話はそれからだよ? お前、ぬるいよ
738 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:23:02 ] ぬるぽ
739 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:24:29 ] >>732 日本語でおk
740 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:33:26 ] diconに書かれたコンポーネントを後からオーバーライドってどうすればいいですか? たとえば <!-- B.dicon の中身 --> <components> <include path="A.dicon" /> <!-- ここで A.dicon やその中でさらに include した dicon 中のコンポーネント a を差し替えたい しかしこのような書き方では新たに a と言うコンポーネントが定義されるだけで、 a.dicon 中のコンポーネント同士の関連をオーバーライドすることはできない --> <component name="a" class="a.A"> </component> </components> 100 個のコンポーネントを組み合わせるシステム中の一部のコンポーネントを差し替えるために、100 個全部定義しなおすのはちょっと嫌です。 標準的な構成の dicon を用意して、アドホックなオーバーライドを行えればよいかなと思ったのですが。
741 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:34:08 ] そんなに畳み掛けたら、彼だって出てきにくいだろう。 まぁ、まずは>>732 の意見を聞いてみようじゃないか、諸君。
742 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 21:38:12 ] >>740 なんとでもできるんじゃね? s2container.seasar.org/ja/conditionalInclude.html s2container.seasar.org/ja/xinclude.html
743 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:11:51 ] relationアノテーションつかうと INNER JOINにならないよ。 SQLファイル使えばいいじゃん。 そうすりゃ財務諸表の出力に使うような SQLだってJDBCだのなんだの 気にせず使える。 って736にすでに書いてあった・・・。 でも、何度かここにも要望あったけど アノテーションでINNER JOIN指定出来るように してくんないかなあ。
744 名前:デフォルトの名無しさん [2006/11/23(木) 22:23:01 ] Seasar最近使い始めたけど、こったことやらなければ簡単じゃね?
745 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:23:54 ] >>742 ありがとうございます、どちらの機能もはじめて知りました。 XInclude を試してみましたが、普通に TooManyRegistrationRuntimeException になるだけでオーバーライドはできないようです。 org.seasar.framework.container.impl.TooManyRegistrationComponentDefImpl を書き換えてこの例外をもみ消すことで期待した結果が得られましたが、 そうするのがよいのかどうか・・・。
746 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:32:54 ] >>745 お前の発想を変えろ 定義してからオーバーライドするんじゃない 定義してるファイルを変えるんだ 100個コンポーネントが定義してあるdiconの一部を変えたいなら そこだけ別ファイルに切り出してXIncludeで取り込め 必要に応じてそのファイルを入れ替えれば目的達成だろ?
747 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 22:56:25 ] >>746 確かにそうなんですが、 その場合残されたほうの dicon が不完全になってしまう(切り出した部分が無いと動かない)のと、 あらかじめ差し替えられる場所を限定しないといけません。 自由な差し替えを受け入れるにはコンポーネント1つごとに1つの dicon なんてことになってしまいます。 完全に動作する標準構成のパッケージと、 その一部を差し替える後付可能な定義ができるといいなと思うんですが。 たとえば <!-- A (または同じ型)が定義済みならオーバーライドする、TooManyRe(ry は起こさない --> <component name="A" override="yes" /> というのができるとうれしいかなぁ。
748 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 23:14:01 ] >>747 自由度が高けりゃいいってもんじゃないぞ
749 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 23:25:59 ] >>748 dicon に書いている時点でそのコンポーネントは差し替えを受け入れていると言えると思います。 ただ dicon の文法的な制約でその差し替えが若干困難になっているというか。 重複をエラーとするかオーバーライドにするかは、どちらかを取るのも選択肢の一つですが、 意図しない重複は検出し(TooMany)、意図する重複は受け入れる(オーバーライド)方がより良いのではないかと思います。
750 名前:デフォルトの名無しさん [2006/11/23(木) 23:31:46 ] >しかし、Javaでさらに生産性を高めるためには、レイヤモデルアーキテクチャは重くて足かせになります。 >そこで考えたのが「ページ駆動開発」と「テーブル駆動開発」です。 (笑) これってACCESSの画面を見せながら 要望を取り入れてその都度開発していくのとカワンナイじゃん
751 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 23:44:25 ] >>749 本気でそれが必要ならMLかhigaタソのブログで相談しろよ 俺はそんなの必要だと思ったことないからこれ以上はワカンネ
752 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 23:54:21 ] >>750 なにか問題でもあるのか?
753 名前:デフォルトの名無しさん mailto:sage [2006/11/23(木) 23:58:01 ] >>749 ごめん、話の内容はあまり読んでないので、外していたらすまん 重複するインターフェイス実装クラスを使い分ける方法はS2.3時代から存在するよ インターフェイスによる自動バインディング対象コンポーネントが複数存在した場合 componentのname属性と、プロパティ名(setterから判断する)が等しいものが選択される。 この機能を使えば、セットしたい実装とセットしたくない実装のname属性を変更すれば DI対象を変更できる。
754 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 00:35:29 ] >>751 確かに場違いでした・・・ >>753 なるほど、デフォルトのコンポーネントには名前をつけず、優先させたいコンポーネントの方に適切な名前をつければそれっぽいことができますね。 コンストラクタの自動バインディングや明示的に名前を指定している場合には使えませんが、有効な代替案になりえそうです。
755 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 07:31:18 ] >>754 データベースが複数になったときの為に、DataSourceや紐付くO/Rマッパーのコンポーネントを 名前指定しておけば、プロパティ名だけで使い分けることもできたりして結構便利 この機能があるから、S2でのバインディングはなるべくセッターインジェクションを使った方がいい 後々実装が増えて選択しなければいけなくなったとき、コンストラクタ・インジェクションでは DIされる側の設定も記述し直すことになってしまうので
756 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 17:09:11 ] 誰か、S2JSF ⇒ Teeda Extension のテンプレートコンバータを 作ってくれないかなあ。細かいところは手作業修正が必要なレベルで いいからさ。
757 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 18:52:19 ] >>736 結局SQL書かなきゃいけないんですかね? 会社の同僚には、「アノテーションだとLEFT OUTER JOIN なんだぁ・・・」って苦笑いされる始末 結局は、自分で書いた方が良い・・・というのが結論ですかね。
758 名前:デフォルトの名無しさん mailto:sage [2006/11/24(金) 19:21:43 ] まあ最大の売りが「2-way SQL」だからな。 「単純なケースならSQL書かなくてもいい、かも知れない」程度に考えるのが吉。