Java Spring Frameworkを語るスレ
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG乱立するフレームワークと競合するプロトコルの嵐のなかで、
リスクの高い決断を余儀なくされているJavaデベロッパ、プ
ロジェクトマネージャに対する福音です。
語るべし。
0421デフォルトの名無しさん
2005/06/01(水) 10:05:15>JSF+Springのサンプルアプリがみたいどすえ〜
https://appfuse.dev.java.net/
https://equinox.dev.java.net/
漏れ自身が勉強中なので情報提供のみで失礼。
0422デフォルトの名無しさん
2005/06/01(水) 10:47:23DBのモデルを単に画面に表示する・画面に入力した値をDBに格納する
みたいなシンプルなアプリだとそうなるかもね。
0423デフォルトの名無しさん
2005/06/01(水) 10:50:24>ビジネスロジック呼び出す前の処理
>あと、ビジネスロジックの結果の後処理
どのレベルの処理を言ってるのかわからないけど、
本当にMVCレイヤに置くべき処理なのか再検討してみては?
0424デフォルトの名無しさん
2005/06/01(水) 11:58:03この本どうよ?書評キボンヌ
『実践Spring Framework―J2EE開発を変えるDIコンテナのすべて』
http://www.amazon.co.jp/exec/obidos/ASIN/4822221431
『入門Spring』と『軽快なJava』は読みました。さらに詳しい話を
聞きたい、という目的に使えますかね?
0425デフォルトの名無しさん
2005/06/02(木) 22:11:28一杯おごってやりたい。
0426デフォルトの名無しさん
2005/06/03(金) 12:15:51Mozilla独自のXULより標準規格のXFormsのほうが良いのでは?
MozillaもOpenOffice.orgもXFormsに対応する上に、
Chibaを使えばXForms未対応のブラウザに対して
HTML+JavaScriptに変換してから送信することで
大部分のブラウザに対応できます。
Chiba (サーバーサイドJavaライブラリ)
http://chiba.sourceforge.net/
MozillaとXForms (Mozilla1.8/Firefox1.1で対応予定)
http://www.mozilla-japan.org/projects/xforms/
[XForms 00031] XFormsのためのwiki (村田真氏がMozillaでXForms推進)
http://www2.xml.gr.jp/log.html?MLID=xforms&N=31
0427デフォルトの名無しさん
2005/06/03(金) 12:41:43XULへの必要性は一般の人にとっては低いとは思うが、
>>425は、ブラウザベースクライアントじゃなくて、リッチクライアントとして
XULを使うことを前提に書いてるんじゃなかろうか。
JSF経由でSwingとかFlashをクライアントにするノリで。
0428デフォルトの名無しさん
2005/06/03(金) 12:42:000429デフォルトの名無しさん
2005/06/22(水) 09:39:060430デフォルトの名無しさん
2005/06/25(土) 15:34:01ほぼデファクトスタンダードらしいが、なぜこのスレは伸びないの?
0431デフォルトの名無しさん
2005/06/25(土) 18:21:20カテゴリとしてマイナーなんでは。日本では。
0432デフォルトの名無しさん
2005/06/26(日) 08:56:09DIは、使い始めれば空気みたいなもんで、とくに議論することもなくなるから。
0433デフォルトの名無しさん
2005/06/26(日) 16:54:53コンテナが作ったProxyに対するAOPでしょ?
0434デフォルトの名無しさん
2005/06/26(日) 22:33:010435デフォルトの名無しさん
2005/06/27(月) 10:43:51proxyでAspectをweavingする事の弱点って何だ?
漏れが把握しているのは
1.自分自身のメソッドを呼び出すとAspectがかからない。
2.visitorみたくthisを渡して処理させるとAspectがかからない。
他に注意点ある?
0436デフォルトの名無しさん
2005/06/27(月) 11:31:590437デフォルトの名無しさん
2005/06/27(月) 11:41:450438デフォルトの名無しさん
2005/06/27(月) 13:49:430439デフォルトの名無しさん
2005/07/05(火) 11:09:420440デフォルトの名無しさん
2005/07/05(火) 13:38:30どこが変わったの?
0441439
2005/07/05(火) 15:43:58『added dedicated support for Hibernate Annotation 3.0 beta 2』
0442デフォルトの名無しさん
2005/07/05(火) 17:36:12でも、前からHibernate Annotations使えてたよ。
0443デフォルトの名無しさん
2005/07/05(火) 22:32:170444デフォルトの名無しさん
2005/07/06(水) 03:19:27DIでせっかくコードから煩雑な記述を追い出したのに、
またコード中に埋め込んで、回帰と言うか退化と言うか。
コンパイラに対する指示を埋め込むのは意義が大きいと思うけど。
0445デフォルトの名無しさん
2005/07/07(木) 10:24:52ここの最後にやりかた書いてあるよ。
ttp://www.fk.urban.ne.jp/home/kishida/kouza/hibernateanno.html
0446デフォルトの名無しさん
2005/07/07(木) 10:25:46アノテーションは、XMLより記述が楽だし、ソースから得た型の情報を使うことで記述量自体が少なくできてるから、そう煩雑でもない。
クラスに関する情報をソースファイルに一元化できる効果もある。
なによりコンパイラによる静的チェックが効くし、Javaソースエディタでの補完が効く。
0447デフォルトの名無しさん
2005/07/08(金) 22:00:29単体まではいいけど、結合で結局アボーンな感じがするのだけど。
まぁつまるところは設計能力か・・・
0448デフォルトの名無しさん
2005/07/10(日) 00:55:340449デフォルトの名無しさん
2005/07/13(水) 20:03:02マルチスレッドでここに処理が殺到した場合、スレッドセーフにトランザクションさばけるんでしょうか?
教えてください。
TransactionProxyFactoryBean
http://www.springframework.org/docs/api/org/springframework/transaction/interceptor/TransactionProxyFactoryBean.html
0450デフォルトの名無しさん
2005/07/13(水) 20:42:56そりゃ、targetしだいだろ。targetがスレッドセーフなら、問題ない。
0451名無しさん
2005/07/13(水) 21:00:030452デフォルトの名無しさん
2005/07/13(水) 23:18:19ちゃんと考えられてるだろうから、
単一のオブジェクトの同じメソッドを
複数のスレッドが並行して駆け抜けることは全然OKなように
つくられてるはず・・・(たぶん)
0453デフォルトの名無しさん
2005/07/14(木) 16:28:520454デフォルトの名無しさん
2005/07/14(木) 19:22:100455デフォルトの名無しさん
2005/07/16(土) 17:28:30それはプラットフォームによる。
・GUIは大抵そう。(OSから飛んでくるイベントの処理は、イベント毎の状態保持が必要。
もっとも、同じ要素に複数イベント飛んできたら、単に順次処理する事が多いんで、
本当のスレッド並列処理はそんなに必要ないと思う。)
・Webアプリ周りも大抵そう。(例の(Statefull)Servletあたりが有名)
それ以外の場面で、常にインスタンスとスレッドを別に考えるのは、どーかと思う。
結局インスタンス数を減らしてまでメモリー消費を避けたい特殊な場面(大規模アプリ、組込みアプリ)
に固有のやりかただと思う。
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をいちいち書くの面倒じゃない?
■ このスレッドは過去ログ倉庫に格納されています