Java Spring Frameworkを語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG乱立するフレームワークと競合するプロトコルの嵐のなかで、
リスクの高い決断を余儀なくされているJavaデベロッパ、プ
ロジェクトマネージャに対する福音です。
語るべし。
0457デフォルトの名無しさん
2005/07/19(火) 10:34:040458デフォルトの名無しさん
2005/07/24(日) 22:38:13Javaは最新の技術追うのが大変(@@)
0459デフォルトの名無しさん
2005/07/25(月) 01:15:53キチガイが狂った独り言を書き込み中
==============================
0460デフォルトの名無しさん
2005/07/25(月) 07:37:48applicationContext.xmlの中でHibernate Annotationsの設定がかけるようになるってことみたいだね。
LocalSessionFactoryBeanを使う場合は、hibernate.cfg.xmlを書いておく必要があった。
0461デフォルトの名無しさん
2005/08/06(土) 22:29:31[ sample.xml ]
<beans>
<bean id="test" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyTargetClass"><value>true</value></property>
<property name="target"><ref local="person"/></property>
<property name="interceptorNames"><value>advisor</value></property>
</bean>
…略…
</beans>
[ sample.java ]
BeanFactory factory = new ClassPathXmlApplicationContext("/com/mamezou/aop/proxydi/sample.xml");
Person person = (Person) factory.getBean("test");
person.setName("Hoge");
ってやるとCGLIBがねぇよってエラーになって、
CGLIB2.1のjarクラスパスに突っ込んでやるとエラーになるんだけど…。
対処方法ってなんかある?
0462461
2005/08/08(月) 00:45:200463デフォルトの名無しさん
2005/08/08(月) 01:32:410464デフォルトの名無しさん
2005/08/08(月) 12:18:04それを修正したとかそんな流れ?
0465461
2005/08/08(月) 20:07:27CGLIB2.1入れても
java.lang.NoClassDefFoundError: org/objectweb/asm/Type
って出たので、ASM入れただけです。
_| ̄|○|||
ASMは1.5.3入れました。2.0だと
java.lang.NoClassDefFoundError: org/objectweb/asm/CodeVisitor
が出ます故。これで動いたは動いたケド、正しいかどうかは…。
0466デフォルトの名無しさん
2005/08/08(月) 20:27:13だいたいあってたね。
0467デフォルトの名無しさん
2005/08/10(水) 12:47:000468デフォルトの名無しさん
2005/08/10(水) 20:51:17Spring 付属の jar をぶっこんだ?
まだ 1.1.7 使ってて 1.2 系は試してないけど
付属の jar 入れとけば間違いは少ないと思う。
0469461
2005/08/10(水) 20:53:28>>467
asm-1.5.3.jar
cglib-2.1_2.jar
をWEB-INF/lib/に放り込んでクラスパス通すだけでつ。
「ProxyFactoryBean使うときはCGLIB入れろ」
ってドキュメントに書いてあったのですが、
CGLIB使うときはASM入れないないとNGなんで、
ttp://prdownloads.sourceforge.net/cglib/cglib-2.1_2.jar?download
ttp://forge.objectweb.org/project/download.php?group_id=23&file_id=3084
のミラーからDLしてください。
…というコトではない?
0470デフォルトの名無しさん
2005/08/10(水) 21:14:42添付の jar を必要に応じて加えるだけで
外部のライブラリは不要だったと思うんだけど。。
0471461
2005/08/10(水) 21:47:00サンクス。
>with-dependency
こっちじゃなくて、spring-framework-1.2.3.zip落としちゃって…。
ttp://www.techscore.com/tech/Others/Spring/1.html
にしっかり書いてありました。orz
0472デフォルトの名無しさん
2005/08/19(金) 12:55:20ttp://springide.org/project/wiki/BeansXmlEditor
Screen Shot 見る感じだと
とりあえず欲しい機能は結構揃っているような。
0473デフォルトの名無しさん
2005/08/25(木) 16:33:370474デフォルトの名無しさん
2005/09/07(水) 09:38:35http://houseofhaug.net/blog/archives/2005/08/12/hibernate-hates-spring/
0475デフォルトの名無しさん
2005/09/07(水) 09:53:15Spring とかなり方向違うなぁと感じたりはする。
Hiernate の Session Factory から getCurrentSession() 呼んだら
思いっきり怒られたりとか。
JTA が必要だったとは知らなかった。
なんかそんなことが続いてる。。
0476デフォルトの名無しさん
2005/09/13(火) 23:10:59サーブレットにDIしたいクラスのsetter作って
動かしてみたのですが、NullPointerException...
サーブレットではsetterインジェクション(?)できないんですか?
ContextからgetBeanすれば普通にとれるんですが。。
0477デフォルトの名無しさん
2005/09/14(水) 00:14:32普通はBeanにsetter/getter作るでしょ。
むしろ、setter/getter作ると自然にBeanになる。
MVCからやり直s(ry
0478デフォルトの名無しさん
2005/09/14(水) 00:27:50サーブレットでDIするためにどういう設定したの?
0479デフォルトの名無しさん
2005/09/14(水) 00:40:33Webコンテナが管理しているサーブレットインスタンスを
そのサーブレットが呼ばれる前に,アプリ側から取得する方法があるとでも?
0480デフォルトの名無しさん
2005/09/14(水) 01:39:520481デフォルトの名無しさん
2005/09/14(水) 02:41:41web.xmlにはプロキシサーブレットを登録して、そのときパラメータで実際のサーブレットクラスを指定するような実装にすればできんでもない。
0482476
2005/09/15(木) 01:29:23勉強不足でごめんなさい。
サーブレットからビジネスロジックを呼び出すのに
自分でビジネスロジックのインスタンスを作らずに、
setterを作って、ビジネスロジックをDIしようとしたのですが。。。
やっぱり無理なんですかね?
0483デフォルトの名無しさん
2005/09/15(木) 02:32:53便乗してTapestryの宣伝でもしてみるか。
Tapestry-4.0だと、それに相当する事が出来るようになってる。
Tapestry-4.0自体はDIコンテナにHiveMind使ってるけど、
HiveMindとSpringを連携させる方法もあるので、
Springで管理してるオブジェクトをTapestryのページや
コンポーネントにDIすることできて便利。
0484デフォルトの名無しさん
2005/09/15(木) 03:15:06日本語のドキュメントはどこにありますか?
0485デフォルトの名無しさん
2005/09/15(木) 16:21:130486デフォルトの名無しさん
2005/09/19(月) 09:44:33Spring。
0487デフォルトの名無しさん
2005/09/19(月) 09:47:35そりゃどっかで使ってるさ。で終わってしまう。
0488デフォルトの名無しさん
2005/09/19(月) 19:12:43どこでも使ってないんじゃないの、と思ってるんだが。
0489デフォルトの名無しさん
2005/09/19(月) 20:59:490490デフォルトの名無しさん
2005/09/19(月) 21:06:20そうかもね。
というか、DI自体にメリットというか魅力を感じない。
いや、考え方とかそういったのは素晴らしいと思うよ。
だけど、実際には客先にコストダウンとかのメリットがある訳じゃないし、
実行速度が上がるわけじゃない。
まぁ、テストを簡単に行えて品質は上がるのかもしれない。
だけど、問題は、DI使ったからといって、修正とかが楽になるかと言えば、答えはNO。
大抵の修正はメソッドの呼び出しとか、そういったものまで結構変更になる。
なのに、下手にDI使ってインターフェースとか定義してたら、
結局インターフェースもクラスも関連するもの全部修正しないといけない。
つまり、殆どの場合、DI使うことにより、修正の手間は倍以上になる。
作る時に、無駄ともいえるものを作るんだから、下手したら4倍近い手間。
世間がこれからどうなるか知らないが、すくなくても俺の会社では
DIは明示的には使わないという方向で決まった。
(ライブラリの内部とかで使われてるとかは知ったこっちゃ無い)
0491デフォルトの名無しさん
2005/09/19(月) 22:21:44ある程度変更になりそうな部分を見極めとかないと意味は無い
DIか否かより、結局は設計の問題になると思うけど
0492デフォルトの名無しさん
2005/09/19(月) 23:06:57君の言ってることはDIとは直接関係ないかなぁ。
単にインターフェースへのプログラミングってやつの是非を語っているだけではないのか?
まぁ、それも確かに賛否両論よく議論されているネタだけどね
DI使うと部品作って組み立てるプロセスが面白くて、楽しく開発は出来るんだけど、
アホには使いこなせないからあまりポピュラーにはならないかもしれない
0493デフォルトの名無しさん
2005/09/20(火) 00:09:30<bean id="confirmEntryController" class="controller.ConfirmEntryController">
<property name="commandClass"><value>model_entity.User</value></property>
<property name="commandName"><value>user</value></property>
<property name="validator"><ref local="userValidator"/></property>
<property name="formView"><value>userEntryView</value></property>
<property name="successView"><value>confirmView</value></property>
</bean>
エラーを表示するのに、spring:bindを利用しているのですが、
-------------entry.jsp-----------------------------------------
<spring:bind path="user.name">
<FONT color="#FF0000"><c:out value="${status.errorMessage}"/></FONT>
</spring:bind>
entry.jspを表示するときに、次のようなエラーになってしまいます。
javax.servlet.ServletException: Neither Errors instance nor plain target object for bean name 'command' available as request attribute
なにか見落としがあるのでしょうか?
あうあぅ締め切りがあさってです。助けてください・・・
0494デフォルトの名無しさん
2005/09/20(火) 00:11:05エラーメッセージがまちがっていました。。
javax.servlet.ServletException: Neither Errors instance nor plain target object for bean name 'user' available as request attribute
0495デフォルトの名無しさん
2005/09/20(火) 01:41:000496デフォルトの名無しさん
2005/09/20(火) 02:29:53(Viewは絶対にVelocityが良い派。
コントローラはStrutsがベタ打ちっぽくて好き派。)
大きく外してるかも知れませんが
ttp://64.233.179.104/search?q=cache:LDvUSmAKRi8J:xlegend.dip.jp/~hamasyou/archives/Engineer-Soul/springframeworkneooiaieaadiiocmvcweb.php+spring.bind+ServletException+Neither+instance&hl=ja
>Bind 時に
>javax.servlet.ServletException: Neither Errors instance nor plain target object for bean name 《コマンド名》 available as request attribute
>という例外が発生する事があります。 これは、Bind するコマンドオブジェクトがリクエストに保存されていないのが原因です。
>コントローラに SimpleFormController を使っている場合、processFormSubmission() メソッドで、
>super.onSumit(request, response, command, errors) を呼び出すと、例外は発生しなくなりました。参考までに。
ConfirmEntryController でそれに類する処理が必要かどうか、存在するのかの確認と、
デバッガで動かしてリクエストの中身を覗いてみてはどうでしょうか?
0497デフォルトの名無しさん
2005/09/20(火) 20:30:51そうでもないんじゃない?
実際、ある程度予測できる範囲やちょっとした修正なら、DIだろうが何だろうが修正は簡単。
だけど、大抵の場合って、そもそもの仕様から引っくり返されるんだよね。
『ごめん。やっぱりこの機能も追加して』って一言で。
そうなると、確かに>>490の言うような状態に陥る。
0498デフォルトの名無しさん
2005/09/21(水) 01:34:49簡単ジャマイカ
0499デフォルトの名無しさん
2005/09/21(水) 01:44:41顧客の「やっぱり」が予想できる場合と出来ない場合で違うと思う
予想できない場合は、たとえどんな作り方をしてても無駄なわけだし
0500デフォルトの名無しさん
2005/09/21(水) 03:19:34あとは想像力さえあれば、大抵の状況は、インターフェイスの修正無しになんとかできるはずだが。
まぁ、インターフェイスの設計がへぼいとどうにもならない場合があるけど。
0501デフォルトの名無しさん
2005/09/21(水) 05:36:55実際のアプリケーションでDIでつなげたクラス同士を切り替えることなんてほとんどない。
それでも、つなげることをやってもらえるだけで便利。
0502デフォルトの名無しさん
2005/09/21(水) 23:44:25コードでつなげる処理を書くよりも便利なの?
やっぱり自分で試して体感してみるしかないかな。
0503デフォルトの名無しさん
2005/09/22(木) 06:51:230504デフォルトの名無しさん
2005/09/22(木) 09:06:33Springの話をDIスレでやると言う
ねじれ現象が起きてるのは何故ですか?
0505デフォルトの名無しさん
2005/09/22(木) 11:53:070506デフォルトの名無しさん
2005/09/23(金) 09:54:470507デフォルトの名無しさん
2005/09/23(金) 17:54:03Dependncy Injectionを語るスレ
http://pc8.2ch.net/test/read.cgi/tech/1099827125/
0508デフォルトの名無しさん
2005/09/23(金) 23:10:300509デフォルトの名無しさん
2005/09/24(土) 03:31:24一月半もレスないのか。
S2スレはFAQの件で盛り上がっているというのに……。
0510デフォルトの名無しさん
2005/09/24(土) 03:33:090512デフォルトの名無しさん
2005/10/19(水) 09:37:25ttp://www-128.ibm.com/developerworks/java/library/j-sr2.html
0513デフォルトの名無しさん
2005/10/19(水) 10:43:13読めん!
0514512じゃないけど
2005/10/19(水) 16:48:17これなら読めるか?
http://www-06.ibm.com/jp/software/websphere/developer/j2ee/lightweight/
0515デフォルトの名無しさん
2005/10/19(水) 17:50:56読める!
0516デフォルトの名無しさん
2005/10/23(日) 21:45:480517デフォルトの名無しさん
2005/10/23(日) 22:15:15むしろ自分でトランザクションコード書いた方が安心する。
別に大した労力じゃないし。
分散トランザクションやろうとしたら別だけど。
0518デフォルトの名無しさん
2005/10/23(日) 22:20:080519デフォルトの名無しさん
2005/10/23(日) 22:26:25ハードコーディングも一緒なり
0520デフォルトの名無しさん
2005/10/24(月) 00:00:28try/finally/try/catchをいちいち書くの面倒じゃない?
0521デフォルトの名無しさん
2005/10/24(月) 00:22:16書くと安心するw
いたるところで書くわけでもないし苦痛でもない。
0522デフォルトの名無しさん
2005/10/24(月) 14:16:34人数多くなってわけわかんないコーダーが含まれるようになると、それじゃ怖い。
0523デフォルトの名無しさん
2005/10/24(月) 15:15:19一箇所で処理できる仕組みであれば何でもいいけどな漏れは。
0524デフォルトの名無しさん
2005/10/24(月) 17:24:13上でconnection.rollback();
を実装するという意味だよな?
0525デフォルトの名無しさん
2005/10/24(月) 21:00:01その為にAspectとか有るんじゃないか?
0526デフォルトの名無しさん
2005/10/24(月) 21:21:210527デフォルトの名無しさん
2005/10/24(月) 23:28:43用意してコレ使えという。
0528デフォルトの名無しさん
2005/10/24(月) 23:32:530529デフォルトの名無しさん
2005/10/25(火) 00:27:490530デフォルトの名無しさん
2005/10/25(火) 09:47:45あれって複数Daoに更新命令メッセージ渡したい時にうまくasid守れるのだっけ?
ドアホな質問だったらスマソ
>>529
自作インタセプタでAOPするのも嫌なの?
0531デフォルトの名無しさん
2005/10/25(火) 10:35:430532530
2005/10/25(火) 11:30:310533デフォルトの名無しさん
2005/10/25(火) 21:41:410534デフォルトの名無しさん
2005/10/25(火) 21:55:08逆にSeasar選ぶのは国粋主義だとは言える。
0535デフォルトの名無しさん
2005/10/25(火) 23:30:51>>インタセプタ
それならいいかも。コードかけるから。
0536デフォルトの名無しさん
2005/10/26(水) 01:28:04国粋主義が悪いかのように匂わす藻舞は共産主義者
0537デフォルトの名無しさん
2005/10/26(水) 01:34:42ウヨ厨発見。
「国粋主義」ってそもそも悪口だし。悪いに決まってる。
0538デフォルトの名無しさん
2005/10/26(水) 10:14:29Seasar2もSpringもその意味では五十歩百歩だろ。
使いやすい方使えばいいのよ。
0539デフォルトの名無しさん
2005/10/26(水) 13:35:27どっちがいいのかは個人の判断だと思うけど、
かなり違うよSpringとSeasarは。
特徴がないと思っているのは単なる勉強不足。
0540デフォルトの名無しさん
2005/10/26(水) 16:42:29で、両者の顕著な違いってどの辺り?
軽量DIコンテナ+AOPサポートって言う
コアな考え方が同一な以上、
枝葉は多少異なるだろうけど、
幹の部分は大差なく感じるんですが。
それぞれのサブプロジェクト(MVCフレームワークとか)は
モデルが大きく異なるだろうけど、限りなく枝葉な問題だし(私には)。
そこの違いがでかいんだよと言われると、大変困るが。
0541デフォルトの名無しさん
2005/10/26(水) 16:59:350542デフォルトの名無しさん
2005/10/26(水) 17:18:39DIだとあまり変わらないかもね。
ただ、Seasarの新しいバージョンだと、DIが結構変わったみたい。
XMLはほとんど書かないらしい。
AOPは結構違う。
JavaWorldに出てたけど、同じAOP AllianceのAPIにもとづいているとは
思えないくらいに設定の仕方が違う。
0543デフォルトの名無しさん
2005/10/26(水) 20:24:410544デフォルトの名無しさん
2005/10/27(木) 00:49:30Tomcatやローカルアプリに対して、安定したJTA環境+AOPによる宣言トランザクションを提供出来るというのが
自分から見たS2の売りかな?
Springも外部のJTA実装を用意すれば一緒なんだけど、出来ればSpring内で実装まで用意して欲しい
0545デフォルトの名無しさん
2005/10/27(木) 09:37:46どうせAP鯖上で動くならそのAP鯖のJTA使えばいいと思う。
つっか、AP鯖のJTA使うと、提供されている管理画面を
使えちゃったりして便利なんだよね。使用状況とか一目瞭然だし。
0546デフォルトの名無しさん
2005/10/27(木) 11:05:18> どうせAP鯖上で動くならそのAP鯖のJTA使えばいいと思う。
AP鯖ならそれ使えばよろし。
「Tomcatやローカルアプリ」の場合の話。
0547デフォルトの名無しさん
2005/10/27(木) 11:50:06というか部品を用意してあるかどうかなんて些細な差と言うか、
そもそも比較項目にすらならん気がする。
224 にも張られた内容見るといろいろ差があるなとは思う。
結局AOPに対するアプローチが一番の違いか?
Spring はどこまでも POJO マンセーな感じ。
良い意味でも悪い意味でも。
0548デフォルトの名無しさん
2005/10/27(木) 12:38:18JTA実装するかしないかの差は、両者のトランザクション管理に対する考えの違いでもある。
JTAを標準としてJDBCトランザクションを排除していこうとしてるのがS2
JDBCもJTAも、DIコンテナがラップして利用者に統一的に使って貰おうとしてるのがSpring
0549デフォルトの名無しさん
2005/10/27(木) 12:39:51POJOマンセーはSeasarのほう。
Springには、何かしたかったら、こういうインターフェースを実装しろ
というのがいろいろあるけど、Seasarはそういうのがほとんど無い。
0550デフォルトの名無しさん
2005/10/28(金) 01:25:53ある程度jspとかbeanとか決まってから?
0551デフォルトの名無しさん
2005/10/28(金) 09:21:16君の脳内が整理されたら。
0552デフォルトの名無しさん
2005/10/28(金) 10:56:12Spring 自体は作りませんね。
0553デフォルトの名無しさん
2005/10/28(金) 14:25:100554デフォルトの名無しさん
2005/10/28(金) 18:52:000555デフォルトの名無しさん
2005/10/30(日) 17:47:22■ このスレッドは過去ログ倉庫に格納されています