Java Spring Frameworkを語るスレ
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさん
NGNG乱立するフレームワークと競合するプロトコルの嵐のなかで、
リスクの高い決断を余儀なくされているJavaデベロッパ、プ
ロジェクトマネージャに対する福音です。
語るべし。
0809デフォルトの名無しさん
2006/07/18(火) 12:06:260810800
2006/07/18(火) 12:49:110811デフォルトの名無しさん
2006/07/18(火) 14:19:480812デフォルトの名無しさん
2006/07/20(木) 22:25:560813デフォルトの名無しさん
2006/07/21(金) 00:57:25獄長乙
0814デフォルトの名無しさん
2006/07/21(金) 23:57:04フォームのパラメータ名とCommandのフィールド名を
任意にマッピング(バインド)する方法がわからない…
0815デフォルトの名無しさん
2006/07/24(月) 17:54:580816デフォルトの名無しさん
2006/07/26(水) 12:31:582.0 とか関係なしに
・EJB3.0 に懐疑的
・ORM は最終的に JDBC に回帰する
な姿勢が良かった。
あと Acegi の記事が後で役に立ちそう。
0817デフォルトの名無しさん
2006/08/01(火) 13:18:00豆蔵が書いたのねコレ。漏れは以前、長谷川ダンナの話を
聞いたことがあるのだが、
「Hibernateは確かに優れたプロダクトだが万能じゃない。
陥りやすい穴もあるから慎重に検討してから導入した方がいい。」
って言ってた。禿同だったんだけどね。今回の記事もその思想が
根底に流れているみたいだね。
JPAマンセーな流れの中でこういう視点は貴重だと思う。
0818デフォルトの名無しさん
2006/08/09(水) 01:22:18のデータ受け渡しってPOJOでもDTO使った方がいいのかな?
直にビジネスオブジェクト受け取った方がコーディングが楽なんだが・・・
0819デフォルトの名無しさん
2006/08/10(木) 09:35:55http://www.atmarkit.co.jp/fjava/kaisetsu/j2eewatch02/j2eewatch02.html
から抜粋
このように、POJOをそのままEntity Beanとして扱うことができれば、従来のEJB開発で
Web層とのデータ交換に利用されてきたDTO(Data Transfer Object)パターンはもはや
不要となる(実のところ、J2EEパターンの多くはEJBの使いにくさを緩和するために
生み出されたアンチパターンであるという見方もある)。
0820デフォルトの名無しさん
2006/08/15(火) 22:23:19「Web層」がBだけの役割であれば、M に B を依存させないために、
DTO(のようなもの)は必要のような気がする。
表示で使うPOJOを直接永続化するということは、
逆に永続化の都合に(N:N関係は扱えないとか)、
表示部のロジックが依存してしまう、ということになるんじゃないの?
0821デフォルトの名無しさん
2006/08/16(水) 10:13:12http://www.amazon.co.jp/gp/product/4797334223/
特にオレが知りたいのは、
・2.0を紹介してるか。
・JPAを使ったWebApp例で、マンセー記事ばかりではなく
注意点やアンチパターン的な解説もしているのか。
・SpringWebServiceの解説あるのか。
・SpringRichClientとかAcegi(SpringSecurity)の解説あるのか。
でも、読んだ印象でも何でもいいから知りたい。
0822デフォルトの名無しさん
2006/08/17(木) 11:01:55> 表示で使うPOJOを直接永続化するということは、
> 逆に永続化の都合に(N:N関係は扱えないとか)、
> 表示部のロジックが依存してしまう、ということになるんじゃないの?
シンプルなアプリなら問題ないと思うんだが。
ただ、発想としては「永続化するPOJOを直接表示する」が正しいかと。
どうしても気になるなら、
サービス層で永続化用DTOからプレゼン用DTOへ変換してやれば良いと思う。(higaタソのシンドメインモデルってやつね)
問題は、プレゼン用DTO・変換ロジックを実装するコストに対して価値があるかどうか。では?
0823822
2006/08/17(木) 17:21:40× シンドメインモデルってやつね
○ Dxoってやつね
あと
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?LocalDTO
0824デフォルトの名無しさん
2006/08/22(火) 09:50:14【IBM】Introduction to Spring 2 and JPA
https://www6.software.ibm.com/developerworks/education/j-spring2/
0825デフォルトの名無しさん
2006/08/25(金) 23:20:47Seasarの連中もキモイけどこれもイタイ。
0826デフォルトの名無しさん
2006/08/25(金) 23:23:36ログインパスワード教えて
0827デフォルトの名無しさん
2006/08/26(土) 09:06:37ゆるされるはんいじゃない?
0828デフォルトの名無しさん
2006/08/26(土) 10:29:200829デフォルトの名無しさん
2006/08/26(土) 23:38:210830デフォルトの名無しさん
2006/08/27(日) 23:31:05仲間由紀恵は沖縄出身
0831824
2006/08/28(月) 09:30:04ごめんごめん、先に米IBMの会員登録してくれ。
無料&誰でもOKね。
https://www.ibm.com/account/profile/us?page=reg
0832デフォルトの名無しさん
2006/08/28(月) 12:16:590833デフォルトの名無しさん
2006/08/28(月) 12:43:340834824
2006/08/28(月) 18:21:41Java server applications need not be difficult and tedious to create.
Now in its second generation, the lightweight Spring framework adds a large suite of features
that make it simple for even new server application developers to use.
One key enhancement is Spring 2's integration with the Java Persistence API (JPA),
a cornerstone of the Enterprise JavaBeans (EJB) 3.0 specification. In this tutorial,
learn how to create server applications from scratch using the Spring 2 framework.
0835824
2006/08/28(月) 18:26:13Before you start
For almost a decade, the "proper" way to build a robust and
maintainable server-side Java application has been the exclusive domain
of the Java 2 Enterprise Edition (J2EE) platform.
J2EE applications are built using Enterprise JavaBeans (EJB) technology
and run on servers that facilitate deployment and provide rich container services
(such as the management of database connections and pooling).
These servers also add value by providing deploy-time declarative control of
important features such as security and transactions. Although versatile,
the J2EE development process involves many tedious and repetitive tasks
and the creation and maintenance of large numbers of source code files.
Many lightweight Java frameworks claim to simplify server application development,
but none matches the Spring framework in maturity and popularity (see Resources).
Now in version 2, Spring was designed from day one to simplify the server application
building process.
0836デフォルトの名無しさん
2006/08/28(月) 18:26:48Instead of approaching development from an all-in-one container perspective,
Spring aims to provide just enough support for an application's requirements
without the burden of a full-fledged container environment. Spring eliminates code bloat:
you can code and test business objects completely outside of any container,
letting your business-object code remain simple, testable, maintainable, and reusable.
With the arrival of Java EE 5 and EJB 3.0, the J2EE community is poised to meet
the Spring developer community. EJB 3.0 supports the notion of lightweight POJOs
(Plain Old Java Objects) as EJB components and introduces the Java Persistence API (JPA),
a persistence mechanism that can run externally to the container.
This persistence mechanism automates the movement of information between business objects
and external relational databases.
Version 2 of the Spring framework has continued its evolution and also leverages JPA
as a persistence mechanism.
In this tutorial, you will work with Spring 2 and JPA persistence.
You'll create a server application using the Spring 2 framework, complete with access
to a DB2 Express-C database. The Eclipse IDE facilitates the development of the Java application
and enhances your exploration of the Spring 2 framework.
これ以上は面倒見ない。
0837デフォルトの名無しさん
2006/08/29(火) 10:38:46これってAcegiと被ってないんだろうか・・・?
どうやって棲み分けしようとしているのか、理解している人いたら教えて。
0838デフォルトの名無しさん
2006/08/29(火) 17:36:04LDAP ってセキュリティとはあまり関係ないのでは。
一種のDBを操作するプロトコル(書きより読みに重点)
程度のもんだと思う。
0839デフォルトの名無しさん
2006/08/30(水) 08:04:35Acegi使ったサンプルは載ってた。
0840デフォルトの名無しさん
2006/08/31(木) 10:13:57ttp://codezine.jp/a/article.aspx?aid=528
0841デフォルトの名無しさん
2006/08/31(木) 11:59:47> 過疎スレ保全
> つか、2.0期待sage
Web2.0に期待揚げ
0842デフォルトの名無しさん
2006/08/31(木) 15:09:250843デフォルトの名無しさん
2006/08/31(木) 15:12:010844デフォルトの名無しさん
2006/08/31(木) 17:58:42>>838
説明thx、acegi に AuthXxxLdapImpl みたいなのがあるので
混乱していたのですが、確かに違うレイヤの話ですね。
(基本的に「業務アプリ屋」なもので、LDAPの本質とか
頭脳から抜け落ちていました)
>>839
情報アリガト、今度その辺を試そうと思っているので購入
してみることにします。
>>840
お、これイイ。今度の仕事、このパターンになりそうなんです。
(EclipseRCPじゃなくてSwingになりそうだけど)
丁度都合よく記事が出てラッキー!!
0845デフォルトの名無しさん
2006/09/06(水) 23:21:30Swingを選ぶあたり、保守性を考慮してあっていいね
SE5.0から速度が向上してるよ
0846デフォルトの名無しさん
2006/09/07(木) 01:34:240847デフォルトの名無しさん
2006/09/07(木) 15:27:08最も単純な、あるクラスの全メソッド呼び出しをインターセプトする場合、
Enhancer使って、MethodInterceptorをCallbackさせます。
この時CGLIBは一体どうやって実現してるか分かる方いますか?
CGLIBは、対象のクラスは弄らず、サブクラス化してるらしいが、
そのサブクラスにはどういう仕掛けをしてメソッドインターセプトする
でしょうか。
0848デフォルトの名無しさん
2006/09/10(日) 21:58:060849デフォルトの名無しさん
2006/09/11(月) 01:01:18bean定義でSimpleUrlHandlerMappingのinterceptorsにていぎするのまではいいのですが。
トランザクションのコミットとロールバック条件などはどのように設定するものなんでしょうか。
0850デフォルトの名無しさん
2006/09/12(火) 01:32:580851デフォルトの名無しさん
2006/09/20(水) 09:59:17ぐぐれ
0852デフォルトの名無しさん
2006/09/29(金) 00:22:03ってEclipseのパクリかよw
0853デフォルトの名無しさん
2006/09/29(金) 21:48:320854デフォルトの名無しさん
2006/09/29(金) 22:11:270855デフォルトの名無しさん
2006/09/30(土) 21:57:090856デフォルトの名無しさん
2006/10/02(月) 18:46:19以下の場合、スレッドセーフになりますか??
・SpringとStrutsの連携で「DelegatingActionProxy」を使用
・Service層のオブジェクトをSetterインジェクションしてインスタンス変数に保持
※Service層のオブジェクトはスレッドセーフを意識していない
StrutsはスレッドセーフにするにはActionでインスタンス変数を使用しないとなると
↑の場合、スレッドセーフにならないような気がします。
もし、スレッドセーフにならないとして、synchronizedする以外でいい方法が
あれば教えてください。
やっぱ、ActionSupport使うしかないんですかね??
0857デフォルトの名無しさん
2006/10/02(月) 20:18:36ここで言う setter injection てのは
定義ファイルに書いといてコンテナにDIしてもらう事?
Action も Service も singleton="false" にすれば
スレッドセーフを考えなくてもOK。(コストは最悪。)
>ActionSupport使うしかないんですかね?
ActionSupport も Action に違いないので
インスタンス変数持たせたら大変。
インスタンス変数を ThreadLoacal で保持させる方法も考えられるけど、
サーブレットコンテナが Action のインスタンスを使い回したりするから、
execute 抜ける前に、確実に変数クリアする等の注意が必要。
結局、いろいろやるより、Service 層をスレッドセーフにした方が楽。
0858デフォルトの名無しさん
2006/10/03(火) 10:02:49コンテナに DI してもらうという意味です。
言葉足らずでした...
確かに ActionSupport も Action を extends してるから
DelegatingActionProxy だろうが一緒ですね
Service 層をスレッドセーフな構造になるように考えてみます。
0859デフォルトの名無しさん
2006/10/04(水) 00:10:570860デフォルトの名無しさん
2006/10/05(木) 09:43:31読んでたら宜しく>豆
0861デフォルトの名無しさん
2006/10/27(金) 01:13:54やってみたー。動かなかったー。
orz
0862デフォルトの名無しさん
2006/10/31(火) 20:38:16ttp://journal.mycom.co.jp/articles/2006/10/26/annotation/
そんでさ、インスタンスをサ、createBeanで作ってやったワケよ。
とりあえずサ、動くこと確認してから記事にしろと言いたいわけ。
ソースまで追っかけさせんナ。ヽ(`Д´)ノウワァン
TOAnnotationXmlApplicationContext ctx =
new TOAnnotationXmlApplicationContext("classpath*:applicationContext.xml");
ConfigurableListableBeanFactory factory = ctx.getBeanFactory();
//createBeanの第2引数の0とか1とか2とかね、第3引数のtrue, falseとかね。ヘ(゚∀゚ヘ)アヒャ
TargetBean bean = (TargetBean)factory.createBean(TargetBean.class, 1, true);
bean.xxx();
プログラムは漏れの本業じゃないのに…。
烏賊にも動きました的な記事は要らんよ。検証してから書けや!
spring-annotation 試したヤシ、居る?
0863デフォルトの名無しさん
2006/11/01(水) 10:38:09テストケース触った方が良いかも知れんですよ。
annotation なんて無視するのが一番だと個人的には感じる。
0864デフォルトの名無しさん
2006/11/01(水) 12:20:21しかもSpring-annotation同梱のサンプル・ソースも同じコードだし、ドキュメントないし。
結局ソース追っかけてくしかないね。
0865デフォルトの名無しさん
2006/11/01(水) 12:36:590866デフォルトの名無しさん
2006/11/02(木) 01:59:49どのへんが?
0867デフォルトの名無しさん
2006/11/02(木) 11:11:00アノテーションでInjectionとか出来るなら使えるけど、そうじゃなきゃ意味ないぽ。
0868デフォルトの名無しさん
2006/11/02(木) 11:21:380869デフォルトの名無しさん
2006/11/02(木) 22:28:27普通に動いたけど。
それだとアノテーション書いてる意味なくね?
0870デフォルトの名無しさん
2006/11/02(木) 22:34:44アノテーションの定義のやりかたによってはXML不要になる。
オレオレアノテーションの定義もそれほど難しくないし。
0871デフォルトの名無しさん
2006/11/02(木) 23:17:18あと、createBeanの第2引数はファクトリの定数でいいかと。
0872デフォルトの名無しさん
2006/11/03(金) 00:02:37え゛?
new TOAnnotationXmlApplicationContext("classpath*:applicationContext.xml").getBean("bean");
だと、
NoSuchBeanDefinitionExceptionが返ってきて"No bean named 'bean' is defined"って言われる。
factory.createBean(); で動きました?
>ファクトリの定数
ソース見たら、BY_NAMEは1だって書いてあったので。
ConfigurableListableBeanFactory.AUTOWIRE_BY_NAME
でいいわけですね。
0873デフォルトの名無しさん
2006/11/07(火) 14:49:210874デフォルトの名無しさん
2006/11/25(土) 18:53:10MSの.netもおんなじようなSpring出しているけど
最近なんかMSさん追随してません。
0875デフォルトの名無しさん
2006/11/25(土) 19:55:240876デフォルトの名無しさん
2006/11/26(日) 02:57:300877デフォルトの名無しさん
2006/11/26(日) 18:43:09ドキュメンツ読んでもいまいちよくわからんし、管理するxmlが増えそうだし。
0878デフォルトの名無しさん
2006/12/03(日) 19:40:12Spring.NET 1.0.2ならC/SのWindowsFormsな案件で使ってる。
SpringにはFormとDataAccessを管理させてる。
あと、AOPでDataAccessモジュールのSQLクエリキャッシュとトランザクション制御をやってる。
0879デフォルトの名無しさん
2006/12/06(水) 16:53:07仕事(主に顧客の業務イントラ)でDIコンテナ使うとき、springを使うときのほうが圧倒的なのだが。
seasarを使っているというのをほとんど聞いたことがない。
ソフトウェアとしてどちらが優れているということについては
ここでは置いときますが、個人的にはSeasarには興味があるけど、
もっとspringのスレも盛り上がっていいと思うのだが・・・
0880デフォルトの名無しさん
2006/12/06(水) 16:58:10実際問題、Springで十分実用に耐えるんだけどな。
日本以外も含めれば、実績も多いみたいだし。
0881879
2006/12/06(水) 17:04:002ヶ月前アメリカに行ってとあるカンファレンスに出席してきたけど、
やはりみんなspring使ってた。
SSH(Struts, Spring, Hibernate)を肌で感じた。
>国産だし、どうしても目がいっちまう。
おれの周りだけかもしれないけど、
みんなspringという名前は知っているけど、Seasarという名前は
知らない人が多い。
0882デフォルトの名無しさん
2006/12/06(水) 17:44:11教祖ネタというか、燃料が供給されるかの違いだと思うけど。
0883デフォルトの名無しさん
2006/12/06(水) 18:39:26でも2ヶ月前でまだStrutsってどうなんだろうな。
俺はもうリッチクライアント以外をお勧めする気にはならんですよ。
自分で作っててもムカつくし。
WebでやりたいならRailsにしましょうとか、そんな感じ。
0884デフォルトの名無しさん
2006/12/06(水) 19:50:33Flash+JSFとかあっても良さそうなんだけど。
Flex2とかOpenLaszloとかもうちでは聞かないし。
0885デフォルトの名無しさん
2006/12/06(水) 23:56:01ここはSpringのプロダクトをヲチするスレ
あっちはSeasarな人たちをヲチするスレ
0886デフォルトの名無しさん
2006/12/06(水) 23:56:450887デフォルトの名無しさん
2006/12/06(水) 23:59:440888デフォルトの名無しさん
2006/12/07(木) 00:05:300889デフォルトの名無しさん
2006/12/07(木) 15:18:11あれはあれで立派なプロダクト。
なんだけどRailsって言うだけあって
規約にガチガチなのが俺には合わなかったです。
これはもう好みの問題だけど、
強い型付けでガチガチに守られつつも
コンポーネント間をゆるゆるにつなげるDIが
俺的には良い落とし所。
0890デフォルトの名無しさん
2006/12/07(木) 19:23:27自分は、「いちいち書かなくてもだいたい分かるだろ」
だと思うんだけど。
0891デフォルトの名無しさん
2006/12/07(木) 21:58:41合わない奴に合わせる気はないから使わなくていいよって規約だろうな
0892デフォルトの名無しさん
2006/12/23(土) 13:59:43http://www.amazon.co.jp/exec/obidos/ASIN/4774130001/
早速2.0対応本が出ますね。
豆蔵か。
0893デフォルトの名無しさん
2006/12/23(土) 14:17:54何か成果出したっけ?
0894デフォルトの名無しさん
2006/12/24(日) 01:20:09thx。
早速Amazonにて予約完了。
正月あたりに読みふけりますわ・わ・わ。
0895デフォルトの名無しさん
2006/12/25(月) 09:10:090896860
2006/12/27(水) 15:11:38同意。オレも前著でSpringを学んだ。
長谷川ダンナの書くことって実世界から乖離してないから好感持てる。
本人と話したこともあるけど、いい人っぽい。
0897デフォルトの名無しさん
2006/12/27(水) 15:23:07あれ読んでからSeasarの青本読んだら、構成がほとんど同じで萎えた。
+αの何かも無くて、劣化コピー読んでる気分だった。
Seasarを一通り試したかったから最後まで読んだけど。
0898デフォルトの名無しさん
2006/12/27(水) 15:41:38内容が似通のも仕方ないと思うが。
立ち読みで気がつこうぜ。
0899デフォルトの名無しさん
2006/12/27(水) 15:46:060900デフォルトの名無しさん
2006/12/28(木) 01:25:43ステートレスになるようにしないと駄目だったりしますか?
2.0から追加されたAutowiringRequestProcessorを使ってインジェクションするBeanのscopeをprototypeにした場合なんですが、
インスタンス変数に設定されたBeanは毎回newされますが、Action自体は同じオブジェクトが使用されています。
この場合のActionってスレッドセーフじゃなくなりますよね?
DelegatingRequestProcessorを使ってscopeをprototypeとかrequestにすればいいのかも知れないけど、
その方法だとActionのインスタンスが一つになっている意味が無くなる(=パフォーマンス劣化)ような気がするし、
皆さんはどうやって解決してますか?
0901デフォルトの名無しさん
2006/12/28(木) 09:35:03俺の場合はサービスクラスは大抵ステートレスにしてる。
ここまではそれほど悩むことじゃないと思う。
その先のドメイン(ビジネス)クラスはステートフルにしたいが、
DIするとなると相性悪いから、俺的にはベストな方法が見つかってない。
過去レスで、ドメインクラスはファクトリで生成するようにして、
ファクトリをサービスやドメインにDIするって言う方法を提案してる香具師がいたと思う。
あるいは、higaタンの提案するシンドメインモデル(=データと処理のカプセル化を放棄する)か…
とにかく、ステートフルな従来型ドメインモデルとDIコンテナは相性が悪すぎる。
0902デフォルトの名無しさん
2006/12/28(木) 19:43:58>その方法だとActionのインスタンスが一つになっている意味が無くなる(=パフォーマンス劣化)ような気がするし、
>皆さんはどうやって解決してますか?
自分は Seasar (S2Struts)を使ってるんだけど、
それと(おそらく)同等のこと(component の instace 属性 を request にする)をやって、
Jmeter でレスポンス時間を調べたけど、あんまり変わらなかったよ。
0903デフォルトの名無しさん
2006/12/28(木) 21:13:33<aop:scoped-proxy/>を使うやり方では不満かい?
http://static.springframework.org/spring/docs/2.0.x/reference/beans.html#beans-factory-scopes-other-injection
0904デフォルトの名無しさん
2006/12/30(土) 17:33:21あの、当時まだU30だった俺より2,3歳くらい年上の兄ちゃんたちが
書いてる本か。1.0の本まだ読んでないのに2.0が出ているとは。
1.0の本、2,3ページ読んだだけでほったらかしてほうほうDIってこういうものなのかー
程度に済ませていたらもう2.0ときたか。
うーむ、すでに1.0本があるだけに、買うべきか迷う。
0905デフォルトの名無しさん
2006/12/30(土) 18:39:06改訂版てより増補版だから両方あっても無駄にはならない。
むしろ初心者がいきなり2.0から読むのは辛いんじゃねーかて感じ。
0906デフォルトの名無しさん
2006/12/30(土) 19:53:18JavaOneTokyoに顔出した
0907デフォルトの名無しさん
2006/12/30(土) 19:58:47Springを実務で使ってる人達なら
本家のリファレンスを印刷したものを
手元に置いとけばそれで良い気がする。
0908デフォルトの名無しさん
2006/12/31(日) 03:40:45springに初めて手を出そうと思っているのですが、
2.0の本だけ買えばいいのか、それとも1.0から読んだほうがいいのでしょうか?
0909デフォルトの名無しさん
2006/12/31(日) 03:52:43間違いなく1.0から
レス数が900を超えています。1000を超えると表示できなくなるよ。