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

国産DIコンテナSeasar その8

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/12/08(金) 07:48:39
一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。
ってどうよ?みんなもう使ってるの?
使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。

本家 seasar.org
http://www.seasar.org/

Seasar Projectグループ
http://seasarproject.g.hatena.ne.jp/

ひがやすをblog
http://d.hatena.ne.jp/higayasuo/

前スレ
その1 http://pc5.2ch.net/test/read.cgi/tech/1092044210/
その2 http://pc5.2ch.net/test/read.cgi/tech/1098885253/
その3 http://pc8.2ch.net/test/read.cgi/tech/1102862221/
その4 http://pc8.2ch.net/test/read.cgi/tech/1119608621/
その5 http://pc8.2ch.net/test/read.cgi/tech/1135986150/
その6 http://pc8.2ch.net/test/read.cgi/tech/1148204750/
その7 http://pc8.2ch.net/test/read.cgi/tech/1153060167/
関連スレ
Java Spring Frameworkを語るスレ
http://pc8.2ch.net/test/read.cgi/tech/1077465099/

Dependncy Injectionを語るスレ
http://pc8.2ch.net/test/read.cgi/tech/1099827125/

Java⇔RDBのMapping-Frameworkを語るThre Vol.4
http://pc8.2ch.net/test/read.cgi/tech/1134701684/
0357デフォルトの名無しさん2007/01/05(金) 11:56:31
誰かと思ったらMaven2の本書いた人か!
この前買ってきたばかりだよ
0358デフォルトの名無しさん2007/01/06(土) 03:05:55
なんでSeasarスレでそんな話になってるんだ?w

>>356
あるいは、sansaiとかoribeとかねw

結局、便乗カキコorz
0359デフォルトの名無しさん2007/01/06(土) 03:37:11
後日Senke Foundation設立予定
0360デフォルトの名無しさん2007/01/06(土) 04:06:46
じゃあ、おれUra-Senke Foundation設立する
0361デフォルトの名無しさん2007/01/06(土) 16:39:07
ちょwwwwwww利休wwwそりゃひどすぎだろwwwww
わび茶の精神ってすげーな。
YAGNIやDRYみたいにWABIとか流行らせてぇw
0362デフォルトの名無しさん2007/01/06(土) 16:49:03
じゃあ、おれWASABI Foundation設立する
0363デフォルトの名無しさん2007/01/06(土) 18:33:12
HaikuOSで動かしたくなるな
0364デフォルトの名無しさん2007/01/06(土) 18:46:32
じゃあ、おれWEBコンテナBaShoでも作る
0365デフォルトの名無しさん2007/01/07(日) 00:38:33
10分で簡単なDBアクセスするアプリが出来るのはわかったけど
でもそういうことじゃないと思うんだよなー
0366デフォルトの名無しさん2007/01/07(日) 01:24:20
>>365
あれは客寄せ
0367デフォルトの名無しさん2007/01/07(日) 01:47:34
souiuimidehanai
0368デフォルトの名無しさん2007/01/07(日) 01:51:52
>>367
日本語でおk
0369デフォルトの名無しさん2007/01/07(日) 14:36:27
ひがタソのJPAの問題ってSQLのところとか的外れじゃね?
0370デフォルトの名無しさん2007/01/07(日) 15:33:18
>>369
そう思うなら、理由を書かないと。
blogにトラックバックしてやり込めればヒローかもよ。
0371デフォルトの名無しさん2007/01/07(日) 18:18:54
>369

そんなに外れてないと思うけど。
どのあたり?
0372デフォルトの名無しさん2007/01/07(日) 20:05:35
>。最悪は、Entity以外にマッピングする場合で、・・・
って部分は違和感を覚えるところかも。
ただ、使い勝手としていちいちエンティティ定義をしないと
マッピングしてくれないのはメンドイと思うのはその通り。
0373デフォルトの名無しさん2007/01/07(日) 20:35:27
どうでもいいけどEJBよりかはマシって論調だけは勘弁してほしい
0374デフォルトの名無しさん2007/01/07(日) 21:14:44
>>372
>。最悪は、Entity以外にマッピングする場合で、・・・

Entity以外に@SqlResultSetMappingする場合、ってことじゃね?
03753722007/01/07(日) 22:21:49
Hibernateだと、エンティティ定義されていないクラスにはマッピングできないことを
逝ってるんだと思ったけど。
でもそれは、JPAが扱うものはエンティティであるという前提だからという事なら
別におかしくも無い。
という風に思えば違和感を覚えるだろう、という意味のレス。
0376デフォルトの名無しさん2007/01/07(日) 22:43:59
複数のEntityを返すってのはどういうコードなんだろうか

Objectの配列でかえるってのはJPAの仕様ではないはずだからこれは嘘かと
コレクションで返す実装もあるし、そもそもマッピングするためのAPIだしねぇ

マッピング作るのが面倒ていってもIDE使っていれば問題ないだろ?
まさかメモ帳あたりですべて手作業でやってるのか?
0377デフォルトの名無しさん2007/01/07(日) 23:03:53
>>376
アホ杉
03781672007/01/07(日) 23:05:04
現在、DAO/DTOの自動生成ツールを物色中。Seasarでは、DoltengとS2Dao-CodeGen、どっちが主流になっていくのかな?
Doltengの気軽さは確かに「サクサク感」がある。定義書からDDLを吐き出すツールは山ほどあるので、書類としてはそっちを使って整えてDAO/DTOはDBから作ってしまえという考え方はある程度納得できる。
が、やはりDBからFKの情報を得るのは難しいのだろうか? このあたりはS2Dao-CodeGenの方が気が利いてる。が、今度はDDLをどーやって作るかが問題だ(^^;
それとも今の流行はActivity Based Datamodelとやらで、FKなんか使うなっつーことなのだろうか?

それはそれとして、とりあえず両方ともS2DAO_Tigerへの対応をしてほしいと思う今日この頃(^^;
0379デフォルトの名無しさん2007/01/07(日) 23:31:54
>>377
JPA勉強して
0380デフォルトの名無しさん2007/01/08(月) 00:00:25
うちのチームではApacheとTomcatを連携してるんだが
SeasarはTomcatがappサーバとwebサーバを兼ねてる。
Seasar使ってる人たちはTomcatだけなのか?
そもそもApacheとTomcatを連携させるのは遅れてる?
0381デフォルトの名無しさん2007/01/08(月) 00:32:02
>>380

サンプルがそうなだけじゃね?
0382デフォルトの名無しさん2007/01/08(月) 00:37:29
>379=376か?
JPAの勉強が必要なのはお前だろw
> Objectの配列でかえるってのはJPAの仕様ではないはずだからこれは嘘かと
もうアフォかと。
select e.id, e.name from Emp e
この結果はObjectの配列で返ってくるんだよ。
03833722007/01/08(月) 00:55:20
>>376
例えばこんなの
・・・
  List results = session.createSQLQuery("select empno,ename,dname from emp, dept where emp.deptno=dept.deptno")
                .list();

  Itarator it = results.iterator();
  for(int recno=1 ; it.hasNest() ; recno++){
    Object[] record = it.next();
    System.out.println("recno="+recno);
    System.out.println(" empno="+record[0]);
    System.out.println(" ename="+record[1]);
    System.out.println(" dname="+record[2]);
  }
・・・

テーブルから自動生成したEmpエンティティやDeptエンティティをaddEntityで追加して
取得する事もできるけど、1つのクラスで受けたい時はempno、ename、dnameを持つクラスを
エンティティ登録しないとマッピングしてくれないってのは如何なものか?
IDEを使おうがメモ帳を使おうが、XMLをゴリゴリ書かなきゃいかんのは生産性が悪いといわざるをえん
03843722007/01/08(月) 01:01:29
>>383
×:hasNest
○:hasNext
0385デフォルトの名無しさん2007/01/08(月) 09:44:36
>>383
addEntityってHibernateじゃねーか。
JPAにはそれすら無いよw
Hibernateなら、登録してないBeanも戻り値として使えるし
今はJPAのアノテーション使えばXML書く必要もないけど
0386デフォルトの名無しさん2007/01/08(月) 11:20:37
訳あってJDK1.4なのでアノテーションは使えん
0387デフォルトの名無しさん2007/01/08(月) 11:37:23
JDK5.0使ってる業務なんてあるのか?
03883802007/01/08(月) 11:56:05
Apacheと連携する場合、
hello.htmlとかteeda用のhtmlファイルを
apache側に置くことは可能なのか?

サンプルがあれなんでさっぱりわからん。
0389デフォルトの名無しさん2007/01/08(月) 12:30:26
>>387
いくらでもあるだろ。
0390デフォルトの名無しさん2007/01/08(月) 12:31:39
>>388
それは、teedaのサンプル以前の話かと。
ApacheとTomcatの連携についてわかってないだけじゃね?
03913802007/01/08(月) 12:44:15
>>390

とりあえずApacheとTomcatの連携、勉強してくる。
サンキュウ
0392デフォルトの名無しさん2007/01/08(月) 12:53:15
>>386
1.4じゃそもそもJPAは使えない訳だがw
0393デフォルトの名無しさん2007/01/08(月) 12:55:44
Kijimunaはeclipse3.2では使えないんでしょうか。
なんかDiconエディタとか設定画面が開けなくてエラーになるんですけど
0394デフォルトの名無しさん2007/01/08(月) 14:19:25
>>383
そのマップや結果セットベースの用途ならRowSetを使うのが普通

そしてObjectの配列でかえるわけではない
リファレンス実装のTopLinkはVector使ってる
どっちにしろ使いにくいが、IDE使えばXMLかいたりとか面倒な作業なしにEntityクラス作れるだろ
オブジェクトに注入するのがJPAなんだからそれ以外なら別のを使う

本当はMapインターフェースでかえってくるともっといいんだがね
キーをカラム名にして、存在しないキーを参照するとException発生させるようなMapはどこの開発チームでも作ってるよね
0395デフォルトの名無しさん2007/01/08(月) 14:28:06
>>393
使えるよ、バージョン1.1.2になってるかな。
0396デフォルトの名無しさん2007/01/08(月) 14:43:24
>>394
>本当はMapインターフェースでかえってくるともっといいんだがね
>・・・どこの開発チームでも作ってるよね
そうか?                                                  
0397デフォルトの名無しさん2007/01/08(月) 15:39:24
>>394
TopLinkでもObject配列だが?
結果のListとしてVector返すのと勘違いしてない?
あと、RowSetはろくな実装がないので俺は使ってないな
0398デフォルトの名無しさん2007/01/08(月) 15:52:16
>>394
> そしてObjectの配列でかえるわけではない

しつけーなw
仕様書P68最初のパラグラフを100回嫁
0399デフォルトの名無しさん2007/01/08(月) 18:01:21
結果がList<Object[]>になってて、394は全体のListの方を、398は各レコードのObject[]の方を言ってるとみた。
0400デフォルトの名無しさん2007/01/08(月) 18:19:25
>>399
getResultList()した場合はそう
getSingleResult()ならそのままObject[]が返る
Listの話なんてしてねーのに>376=379=394w
0401デフォルトの名無しさん2007/01/08(月) 19:51:23
どっちでもええわ。どっかいってくれ
0402デフォルトの名無しさん2007/01/08(月) 21:26:00
RowSet使え
0403デフォルトの名無しさん2007/01/08(月) 21:40:02
>複数のEntityを返そうとするとObjectの配列に個々のEntityがつめられて返ってくるので、
>Employee emp = (Employee) obj[0];のような感じでキャストして使うのです。
ここが違うということでは?
0404デフォルトの名無しさん2007/01/08(月) 21:47:31
>>403
だからどっかいけ粘着
0405デフォルトの名無しさん2007/01/08(月) 22:06:23
>>403
違ってない。JPQLだと
select emp, dept from Employee emp, Department dept
でそうなる。同じようなSQLで
@SqlResultSetMapping(name="higa", entities={@EntityResult(entityClass=Employee.class), @EntityResult(entityClass=Department.class)})
でもそうなる。
0406デフォルトの名無しさん2007/01/08(月) 22:19:08
プロジェクトでSeasar使ったときって、
Seasar使ったって事ドキュメントに書いてる?(S2DAO,S2JSFを利用とか、そのバージョンとか)

書いてる場合は、diconファイルの設定状況とかも書いてる?
0407デフォルトの名無しさん2007/01/08(月) 22:30:14
>>406
日本語でおk
0408デフォルトの名無しさん2007/01/08(月) 22:34:08
>>406
ふつうかくだろ
0409デフォルトの名無しさん2007/01/08(月) 22:41:50
書かずに引き継げると思ってんのかよ。コミッタじゃあるまいしそれぐらい常識的に考えろ。
0410デフォルトの名無しさん2007/01/08(月) 23:23:16
さて、正月休みは終わるわけだが………

宿題は終わったか?>コミッタ共
04114062007/01/08(月) 23:36:02
まじかDQNケテーイだな。明日一日で書くわ
0412デフォルトの名無しさん2007/01/09(火) 06:08:14
「まじか」はDQNケテーイ?
0413デフォルトの名無しさん2007/01/10(水) 00:06:53
>>411
書いた所でDQNだろ?
0414デフォルトの名無しさん2007/01/10(水) 00:07:50
つーか、翻訳DQNにseasarがイチャモン付けら照るぞ。
http://www.eclipsewiki.net/eclipse/index.php?%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%C6%FC%CB%DC%B8%EC%B2%BD%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3#m01d247c
どういう意味か訳してくれ。
0415デフォルトの名無しさん2007/01/10(水) 00:25:47
>>414
AOPの実装といえばほぼAspectJしかなかった時代を知らんだけだろ
0416デフォルトの名無しさん2007/01/10(水) 01:18:23
依存性を排除するんじゃなくて必要に応じて変えればいいってことか
発想はおもしろいと思うがあのpleiades-config.xml見ちゃうとな…
0417デフォルトの名無しさん2007/01/10(水) 07:33:42
なんでも出来ることがすごいことだと思ってる人って
どの分野でも必ず出てくるね。
0418デフォルトの名無しさん2007/01/10(水) 19:20:56
何でも出来るのは凄い事だろ。
0419デフォルトの名無しさん2007/01/10(水) 22:00:02
何でも出来るのはすごいけど、何をすれば正解なのかわからないのはよくないだろ。
0420デフォルトの名無しさん2007/01/10(水) 23:17:05
何でも出来るものを作る
↓
目的に応じた手段が増える
↓
覚えることが増える
↓
複雑化する
↓
結局、標準のクラスライブラリの焼き直し?

複雑なJ2EEの再構築とか言っているが、再構築したものも複雑。
「再構築」ではなくて、「非標準化」だろw
0421デフォルトの名無しさん2007/01/10(水) 23:39:59
>>420
再構築ではあるんじゃない?
0422デフォルトの名無しさん2007/01/10(水) 23:50:42
言いたいのはなんでも出来るとかじゃないだろ。
newするインスタンスをコンテナが管理して
必要に応じて設定で変更できるってことだろ。

翻訳はどうでもいいが、普通にnewしたインスタンスを管理できるなら
それにこしたことはないんじゃねーの。
0423デフォルトの名無しさん2007/01/11(木) 00:23:22
今までいろんなのを引き合いに出して優位を騙ってきたSeasarだが
LiQに続いてPleiadesと引き合いに出される方になってきたなw
0424デフォルトの名無しさん2007/01/11(木) 00:43:21
Pleiadesの作者の言っていることは割と正論。

JDK5以降ならクラスのロードをフックできるので、
Hogeというクラスのロードが要求されたら、
フックした側でバイトコードを換えればよい。

例えばHogeインターフェイスとHogeImpl1とHogeImpl2があれば、
テスト時はHogeImpl1で本番時はHogeImpl2という風にも可能。
これは既存のDIでも出来る話であるが、利用コード側が、

Hoge hoge = new HogeImpl1();
か、
Hoge hoge = (Hoge)container.getComponent(Hoge.class);

の違いではあるが、Hogeは業務に関係あるものでも、
containerは業務に無関係で、DIコンテナの為に仕方がなく使っているもの。

ぶちゃけ、Seasar2を使って組んだ業務システムをリプレイスするときを考えてみろ。
業務に関係ないコードが点々と存在して、
インスタンスのライフサイクルもコードからは追いかけられないんだぞ。
他人が作ったメソッドで取得したハッシュマップからインスタンスを取得するときに、
ライフサイクルとか、正しいインスタンスなのか、自信がもてないだろ。
0425デフォルトの名無しさん2007/01/11(木) 00:52:16
ちょっと待つヨロシ。

コンテナからルックアップするコードを
そこかしこに書いてるんですか?
俺のコードは setter injection が大前提だから
ルックアップなんて一切記述してないんですけど。

あとライフサイクルに注意が必要なクラスは、
ドキュメント(javadoc で十分だが)に記述しませんか?
てか記述されてなかったら俺は怒りますけど。
記述がなければ自信なんて持ちようがないです、俺は。
0426デフォルトの名無しさん2007/01/11(木) 00:56:13
で、記述が無いことのほうが多いっていう話じゃないのか?
0427デフォルトの名無しさん2007/01/11(木) 00:56:50
pleiadesの場合はソースコードを一切改変したくないんだから
ルックアップするコードが一箇所でもあればだめなんだろ。
0428デフォルトの名無しさん2007/01/11(木) 01:04:18
要は業務ソースやフレームワークに一箇所でも
コンテナのコードがないほうがいいんじゃね?
ってことだろ。EclipseにPleiadesのコードなんか入ってないからな。
04294242007/01/11(木) 01:30:12
>>428
そうそう。

フレームワークを使うってことは、
確かに実装コードがフレームワークに依存するし、
多少の実装コードの汚れは仕方がないかもしれない。

話がちょっと変わるが、Pleiadesのようなアプローチであれば、
各種フレームワークをSeasar2で動くようにする、
ラッパーライブラリは全くいらないと思う。
S2StrutsのようにStrutsのコードだけ使って
Strutsの流儀を無視したものを提供したければ話は別だが。

さっきの発言はちょっと痛かったかもしれないけど、これだけは言わせてくれ。
ぶっちゃけ、Seasarの中の人たちって、ちょこちょこポリシーが変わる気がする。
「進化」じゃなくて「変わる」だけね。
しかも変わるのが利用するアプリケーションの設計にかかわる部分でもある。
つまりね、安心してアプリの設計ポリシーをSeasar2に任せられないってこと。

俺もSeasarを使ってはいるが、フレームワークではなくライブラリ的な使い方だけ。
セキュリティ目的でバージョンアップすると、設計思想や使い方まで変わると困るから、
差し替えが可能な使い方までしかしていない。

#ブログに書きたいのだが、中の人たちから粘着攻撃されそうで、
#言いたいことが全然書けないよ。
0430デフォルトの名無しさん2007/01/11(木) 01:45:41
変化ヲ抱擁セヨ
0431デフォルトの名無しさん2007/01/11(木) 02:40:32
>>429
特定シマスタ
0432デフォルトの名無しさん2007/01/11(木) 02:41:43
>Pleiadesのようなアプローチであれば
Eclipse そのものがPleiadesのようなアプローチであれば・・・
plug-in 同士が連携するってのはもう絶望的に感じますが。

なんつーか Java でそれをするか?って感じがするんですよ。
もっと動的な言語使えばスッキリ行くだろうに
なんで無理にJavaでやりたがるんだろうって。
0433デフォルトの名無しさん2007/01/11(木) 11:27:35
>>424
ロードのフックってjavaagentのこと?
あれ、一見便利だが、動的に作成したClassLoaderとの相性が最悪じゃね?
0434デフォルトの名無しさん2007/01/11(木) 12:54:50
>>430
あ、それクライアントとウチの上司の好きな言葉だ。
そして次の言葉は「但し、納期はそのままね。」
04354242007/01/11(木) 23:13:17
>>433
ClassFileTransformerをきちんと設計すればおk。

ロードしようとしたクラスローダが引数に渡される。
(実際にはdefineClassを実行したクラスローダ)
ブートストラップクラスローダの場合はnullが渡されるが。

動的に作ったクラスローダでdefineClassを行えば、
引数にそのクラスローダが渡されるので、
変換したくなきゃreturn null;でおk。
変換したけりゃ、新しいバイト列を作って返せばいい。
クラスローダとの相性はあまり関係ないと思われ。

ちなみに、Instrumentationのインスタンスはpremainで渡されるが、
その後は好きなところで使用してもいいので、
premainで適当なクラスのstaticフィールドに格納するのもよし。
後からアプリケーション側でロードのフックの実行の制御するのも可能。
0436デフォルトの名無しさん2007/01/12(金) 00:46:19
>>425
ライフサイクルに関してはそういうのがメンドイから、pleiadesの奴もデフォは
prototypeのほうがいいって言ってんじゃね?

setter injectionも環境依存とかの本当に必要なとこだけにして、
あとは普通にファクトリとかインタフェースを設計すればいい。
テストのためにsetter injectionを正当化するのはおかしいと思わね?
まー、newするインスタンスを動的に変えれる前提だけどな。
だけど、動的に変えまくってしまうとコード追えなくなるのは同じ希ガス。
0437デフォルトの名無しさん2007/01/12(金) 00:48:12
>>435
例えばfoo.warとbar.warをTomcatにデプロイしたとして
両方に同じjarファイルがあるとしてその中のクラスを
foo.warの方だけbar.warに影響なく変換とかできる?
0438デフォルトの名無しさん2007/01/12(金) 00:58:52
>>436
> だけど、動的に変えまくってしまうとコード追えなくなるのは同じ希ガス。

DIコンテナだとnewするコードがないから何が来るか分からないってことはすぐ分かる
pleiadesだとnewするコードがあるのに見たとおり動くとは限らない
ソースをメンテするならpleiadesは辛い気がする
04394242007/01/12(金) 01:02:17
>>437
できるよ。
そもそもfoo.warとbar.warでは使用されるクラスローダが違う。
同じJarでもWEB-INF/libのJarファイルはWebAppClassLoaderでロードされるから、
それぞれが別クラス扱いだよ。

そもそもVMで「同じクラス」という認識は、
クラス名が同じかつ、クラスローダが同じということだ。
違うクラスであれば、ClassLoader#defineが可能。
0440デフォルトの名無しさん2007/01/12(金) 01:07:55
みんなS2Unit使ってるのか?
04414242007/01/12(金) 01:14:32
>>438
それも一理ある。

っつーか、各種コンテナの共通アダプタを作ればよくね?
コンテナ依存の機能は使えないようにするか、
エミュレートするようにすればいいし。

Jakarta Commons-DI Containerっていうのがあれば、最高じゃない?
Commonsなら捺印ナビリティもアップだろ。

過度なDIは避けてCommonsの提供するAPIレベルでのみDIを行うようにすれば、
Seasar2がこけてもSpringがあるし、特定のコンテナに依存するのがヤダってのも回避できる。
0442デフォルトの名無しさん2007/01/12(金) 01:15:32
>>440
信者か中の人だけだろ。
0443デフォルトの名無しさん2007/01/12(金) 01:17:11
>>439
違うクラス扱いになるのは分かる
問題はClassFileTransformerにその区別ができるか?
foo.warのWEB-INF/lib/xxx.jarとbar.warのWEB-INF/lib/xxx.jarの
どっちもWeebAppClassLoader(インスタンスは違えど)でロードされるわけだが
foo.warのWEB-INF/lib/xxx.jarの中のクラスは変換するが
bar.warのWEB-INF/lib/xxx.jarの中のクラスは変換しない
ってことができるのか?
0444424 2007/01/12(金) 01:36:24
>>443
提供されているAPIではできない。

ハック技としては、URLClassLoaderにキャストして、
getURLs()でリアルなjarの位置から判断するのもある。

現実的な方法はtransform.propertiesに
transform = true
とか書く。

transform.propertiesをWEB-INF/classesに置いて、
transformメソッドの引数のクラスローダを使用して、
ResourceBundleを作るかPropertiesを作って判定すればいい。

引数のクラスローダで読み込めば、foo.warのクラスローダとbar.warのクラスローダで
それぞれ別々のリソースが読める。

クラスローダはクラスをVMにロードするだけじゃなく、
バイトコードを含む「リソース」をロードするのも1つの機能。
0445デフォルトの名無しさん2007/01/12(金) 01:46:33
>>444
> transform.propertiesをWEB-INF/classesに置いて、

なるほど
それならWar単位にカスタマイズできるね
0446424 2007/01/12(金) 01:48:29
追記:
例えばクラス名がhoge.Piyoだとすると、
transformメソッドの中で、

URL url = loader.getResource(className.replace('.','/') + ".class");
とやれば、クラスをロードせずに、そのクラスのリアルな位置がわかる。

urlの中身はfile:///c:/xxx/yyy/WEB-INF/lib/hoge.jar!hoge/Piyo.class
とかになっているはず。(ごめん、URLは適当だけど。)
このときのyyyがコンテキスト名にならないかな?
0447デフォルトの名無しさん2007/01/12(金) 01:54:29
>>446
それよりは>444の方がいいね
pleiades-config.xmlみたいな設定ファイルをwarなりjarなりに入れておけば
それが見えるクラスローダの範囲だけカスタマイズできれば扱いやすそう
0448デフォルトの名無しさん2007/01/12(金) 01:56:05
>>438
pleiades的には基本はnewの変更はなしだろ。
基本はソースコード上のままでちょこっとテスト用のクラス入れ替えたり、
ソースがいじれないときに入れ替えたり。

だからファクトリとか普通に設計しれってことなんかと。
0449424 2007/01/12(金) 02:09:12
っつーか、Java初心者が某銀行のPJに入って、
Seasar2だけ覚えたその後、きっと不幸なプログラマになるぞ。

「クラスにフィールドを書いてセッターを書けば、
よくわかんないけど、勝手にインスタンスが入るんだよね」

「勝手にロールバックしてるみたい。
中でなにやっているのかよくわかんないけど・・・」

「インターフェイスってよく知らないけど、
こうやって書けばいいみたい」

くらいの認識のやつらが業界にウロチョロするぞw
0450デフォルトの名無しさん2007/01/12(金) 02:21:44
今までだってそうやってきたんだから今さら後戻りはない
IPLとか割り込みとか知らない奴らが不幸とは限らん
0451デフォルトの名無しさん2007/01/12(金) 07:53:06
442はさあ・・何て言うか公平な議論する気ゼロなの?

449で挙げてる不幸なプログラマが
pleiades使ってもやっぱり不幸になるよ。
(不幸になるのはそいつじゃなくて周りな。本人は自業自得。)

「後から中身替えられるからどうでもいいよ。」
「変更かかるかどうか分からないけど全部interfaceで宣言してしまおう。」
0452デフォルトの名無しさん2007/01/12(金) 07:54:00
442じゃなくて424でした。
どう見てもアンカーミスです。本当にごめんなさい。
0453デフォルトの名無しさん2007/01/12(金) 07:57:27
>>452
アンカーってなんだ?って所から勉強してみようか
0454デフォルトの名無しさん2007/01/12(金) 08:50:52
どうでもいいけど、せめてDBアクセスフレームワークとWebフレームワークと
テスティングフレームワークを一式揃えてから宣伝してくれw

>>429
>俺もSeasarを使ってはいるが、フレームワークではなくライブラリ的な使い方だけ。
ここは同感というか、そもそも現状のJavaフレームワークでポリシーまで含めて
全て賛同できるものが存在しない。
Javaの弱点は、標準が失敗(J2EE1.4まで)したせいで、
まったく統一感がなくなってしまったことだと思ってる
開発現場を変わる度に、作り方もポリシーも全然違ってくることがざらにある。
Javaで開発の度に新たなフレームワークを覚え続けるよりは、
統一感のある他の言語環境に移ったほうがマシかなと最近はよく思ってる
0455デフォルトの名無しさん2007/01/12(金) 09:02:48
>>454
代案がC#とASP以外になんかあるか?
速度犠牲とメモリ管理の煩雑さからチームを守れる選択肢って他にないじゃん。
0456デフォルトの名無しさん2007/01/12(金) 09:14:27
>>455
現状ならC#(.net)かRubyだな
速度犠牲はシステムの要求速度にもよるだろ
■ このスレッドは過去ログ倉庫に格納されています