【DI】Java Spring Frameworkを語るスレ 4.0

このエントリーをはてなブックマークに追加
1目黒クラスタ ◆0anDvOSTbk
2デフォルトの名無しさん:2008/11/21(金) 01:11:55
Springスレってテンプレないんだっけ?
取りあえずこんなんでどーよ?


Spring-Java/J2EEアプリケーションフレームワークリファレンスドキュメント(2章まで最新版)
ttp://andore.com/money/trans/spring_ref_ja.html

EclipseプラグインSpring IDEを使ってみよう (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_01/spring2_01_1.html

Springは「2.0」でどんだけ便利になったの? (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_02/spring2_02_1.html

Spring 2.0で自分なりの開発スタイルを確立しよう (1/3) - @IT
ttp://www.atmarkit.co.jp/fjava/rensai4/spring2_03/spring2_03_1.html

【ハウツー】Spring 2.0を早速使う - どのくらい簡単になった? (1) 待望のSpring Framework 2.0リリース (MYCOMジャーナル)
ttp://journal.mycom.co.jp/articles/2006/10/05/spring20/

Spring 2.0によるDBアプリケーションの作成
ttp://www.okisoft.co.jp/esc/spring/index.html

InfoQ: Spring 2.0: 最新情報と Spring 2.0 が重要な理由
ttp://www.infoq.com/jp/articles/spring-2-intro

InfoQ: Spring 2.5の新機能―Part 1
ttp://www.infoq.com/jp/articles/spring-2.5-part-1

InfoQ: Spring 2.5の新機能を使ってアプリケーションを作る(その1)
ttp://www.infoq.com/jp/articles/spring2.5-1
3目黒クラスタ ◆0anDvOSTbk :2008/11/21(金) 01:14:48
>>2
おぉ!サンクス!
助かったよ。
4続き:2008/11/21(金) 01:18:23
InfoQ: Spring 2.5の新機能を使ってアプリケーションを作る(その2)
ttp://www.infoq.com/jp/articles/spring2.5-2

【書籍】

Spring入門
ttp://www.amazon.co.jp/dp/4774123412/

Spring2.0入門
http://www.amazon.co.jp/dp/4774130001/

SpringによるWebアプリケーションスーパーサンプル
http://www.amazon.co.jp/dp/4797334223/


こんなとこでいいかな?
5デフォルトの名無しさん:2008/11/21(金) 01:37:01
IoCとかDI自体についてはこの辺がいいのかな?

Inversion of Control コンテナと Dependency Injection パターン
ttp://kakutani.com/trans/fowler/injection.html

Inversion of Controlパターンでコンポーネント間の結びつきを弱める - japan.internet.com デベロッパー
ttp://japan.internet.com/developer/20051011/28.html

あと2スレ目だけ以下にあった。

【DI】Java Spring Frameworkを語るスレ 2.0
ttp://www.23ch.info/test/read.cgi/tech/1169517585/


手玉が尽きたんで、あとよろしく。
6デフォルトの名無しさん:2008/11/21(金) 08:40:39
staticフィールドに対してAutoWiringする標準的な方法って何かありますか?
ユーティリティクラス内で使う設定をSpring管理にしたいのですが・・・。

一応、インスタンスメソッドとしてsetter用意すればされるようなのですが、その他に何かやり方があれば教えてください。
7デフォルトの名無しさん:2008/11/21(金) 18:38:43
>>6

そのやり方だとstaticメソッドしか持たないユーティリティクラスでも、Springによって1つはインスタンスが作られるんだよね?

他のやり方だと一応こんなんやってる人いたけど、いいのか悪いのかは分からん。

ttp://d.hatena.ne.jp/futokiyo/20080712/1215848272
8デフォルトの名無しさん:2008/11/22(土) 01:10:13
Springの新しいメンテナンスポリシーでJava界の勢力図が変わる - ひがやすを blog
ttp://d.hatena.ne.jp/higayasuo/20080921/1221962998

Springは心を改めた - ひがやすを blog
ttp://d.hatena.ne.jp/higayasuo/20081009/1223535065
9デフォルトの名無しさん:2008/11/22(土) 22:44:58
Bean定義ファイルでutil:mapのkeyとvalueに任意の型を指定したい場合ってどう書けばいいですか?
デフォルトだとString型ですよね?
10目黒クラスタ ◆0anDvOSTbk :2008/11/22(土) 23:27:34
>>9
こんな感じ。

<util:map id="priceMap">
  <entry>
      <key>
        <bean class="java.lang.Integer" scope="singleton">
          <constructor-arg value="3" />
        </bean>
      </key>
      <bean class="java.lang.String" scope="singleton">
        <constructor-arg value="150円" />
      </bean>
  </entry>
</util:map>
11デフォルトの名無しさん:2008/11/24(月) 23:10:32
もしかしてもう誰も使ってないの?
誰かなんか語ろうぜ・・・。
12デフォルトの名無しさん:2008/11/26(水) 02:05:23
Japan Spring Framework User Group
ttp://groups.google.co.jp/group/jsug
13デフォルトの名無しさん:2008/11/26(水) 19:19:10
まあ、普通に使っている人にしてみれば、今更特に語ることもないからな〜
14デフォルトの名無しさん:2008/11/28(金) 03:51:34
これだけレスつかないってことは誰もSpring使ってないんじゃないかと妄想。
15デフォルトの名無しさん:2008/12/01(月) 22:43:29
>>14
これから使う予定です
軽く本で勉強したいのですが、お勧めの書籍などありましたら、教えてください
16デフォルトの名無しさん:2008/12/01(月) 22:59:12
うんこ
17目黒クラスタ ◆0anDvOSTbk :2008/12/04(木) 17:21:11
>>15

テンプレにもあるが和書なら↓。

Spring入門
ttp://www.amazon.co.jp/dp/4774123412/

Spring2.0入門
ttp://www.amazon.co.jp/dp/4774130001/
18目黒クラスタ ◆0anDvOSTbk :2008/12/04(木) 17:22:14
>>16

荒らすのやめてください!
19デフォルトの名無しさん:2008/12/04(木) 23:34:23
とある魔術の禁書目録<インデックス>

舞台は総人口230万人弱、東京西部の大部分を占める巨大な都市。
その人口の約8割が学生ということから、『学園都市』と呼ばれていた。
学園都市の生徒達は、超能力を発言させるための特殊なカリキュラムが組まれていて、
その能力によって、『無能力』(レベル0)から『超能力』(レベル5)までの6段階で査定されていた。
主人公・上条当麻(かみじょうとうま)は、学園都市の高校生だが、その評価は落第寸前の無能力(レベル0)。
なぜなら彼の右手には、“異能の力ならなんでも打ち消す”『幻想殺し』(イマジンブレイカー)と呼ばれる能力が宿っていたからだ。
そして彼はこの右手のおかげで、“神のご加護”まで打ち消してしまい、常に不幸な人生を送っていた。
しかし、そんな日常に突如変化が訪れる。 彼の部屋に、不思議少女が空から登場というありがち展開に。
「ありえねぇ……」と上条当麻はつぶやくが、自らを『禁書目録』(インデックス)と名乗るその少女はこう言った。
自分は“魔術”の世界から逃げてきた――と。
そこへインデックスを追ってきた“魔術師”も現れた。
“魔術師”の狙いは、彼女、インデックスの頭の中にあるという“10万3000冊”の“魔道書”だという。
当麻はインデックスを守るため、その“異能を打ち消す力”を持つ右手を握り締める。
“科学”(上条当麻)と“魔術”(インデックス)の出会から、物語は始まる……!
20デフォルトの名無しさん:2008/12/05(金) 02:18:50
とてもおおきな Java プロジェクトに途中から入りました。
DI コンテナは Spring 2.0を使っています。*.java は 5000 以上あります。

Eclipse 3.4 に Spring IDE を入れてみたのですが、
ここまで大きいとかなり Spring IDE の builder が重いです。

デフォルトの状態だと、application.xml や *.java に修正しただけで(保存しなくても)
整合性チェックが走り、とても重いのですが、これは仕方ないでしょうか?

Spring IDE の builder が、*.xml だけでなく *.java を修正しただけで
builder が走るのは、たとえば *.java を修正して setter メソッドがなくなったら、
application.xml に赤マークをつける必要があるので、考えてみると仕方ない気がするのですが・・・

Eclipse の、設定→Spring の use check detection for java source files を
外してみましたが、結局 Ctrl - s を押してセーブすると、また延々と builder が走るので
結局プロジェクトバリデータ、プロジェクトビルダーのすべてのチェックを外しています。

これだと application.xml を修正するときのコンテンツアシストぐらいしかメリットがありません。

いちおう、ソースをリポジトリにコミットする直前に、プロジェクトバリデータ、プロジェクトビルダーの
チェックをつけ直して、クリーンして xml に間違いがないか確認していますが、やや面倒です。

ながくなりましたが、巨大プロジェクトで Spring IDE を使うとき、みなさんどうしてますか?


21デフォルトの名無しさん:2008/12/05(金) 09:48:00
参考にならないと思うけど、最近うちで作ったシステムの話。

春先から作りはじめて10月から稼働を始めた3000javaなシステム。
Spring 2.5でアノテーションを使っているので、
applicationContext.xmlはSpring IDEも使わず手書き。

詳細は以下。

規模はアプリケーションレイヤのみで2500(700は自動生成)、
フレームワークレイヤは500。

そのうち、Springで管理するコンポーネント数300チョイ。

アクション:50(ユースケース単位)
ロジック:90
データアクセス:140

はアノテーションベースで管理。

applicationContext.xmlに手書きしているのは25(一番多いのはDWR用)。
22デフォルトの名無しさん:2008/12/06(土) 00:28:59
/   //   /   //    ______     /   //   /
 / //   /|   r'7\ ,.ヘ‐'"´iヾ、/\ニ''ー- 、.,   /    /
  /   / |  |::|ァ'⌒',ヽ:::ヽrヘ_,,.!-‐-'、二7-ァ'´|、__
`'ー-‐''"   ヽ、_'´  `| |:::::|'"       二.,_> ,.へ_
         /  //__// / / /      `ヽ7::/
 か っ も  |  / // メ,/_,,. /./ /|   i   Y   //
 ァ  て う.  |'´/ ∠. -‐'ァ'"´'`iヽ.// メ、,_ハ  ,  |〉
  |  約 ク  ヽ! O .|/。〈ハ、 rリ '´   ,ァ=;、`| ,ハ |、  /
  |  束 ソ   >  o  ゜,,´ ̄   .  ト i 〉.レ'i iヽ|ヽ、.,____
  |  し  ス  /   ハ | u   ,.--- 、  `' ゜o O/、.,___,,..-‐'"´
  |  た  レ  |  /  ハ,   /    〉 "从  ヽ!  /
  |  じ  は  |,.イ,.!-‐'-'、,ヘ. !、_   _,/ ,.イヘ. `  ヽ.
 ッ .ゃ .立   |/     ヽ!7>rァ''7´| / ',  〉`ヽ〉
 ! ! な  て   .',      `Y_,/、レ'ヘ/レ'  レ'
   い  .な    ヽ、_     !:::::ハiヽ.   //   /
   で   い   ./‐r'、.,_,.イ\/_」ヽ ',       /  /
   す      /    `/:::::::/ /,」:::iン、 /    /
          〈  ,,..-‐''"´ ̄ ̄77ー--、_\.,__  /
      ,.:'⌒ヽ ´         | |  , i |ノ   `ヾr-、
(CV:松岡修造)
23目黒クラスタ ◆0anDvOSTbk :2008/12/06(土) 21:49:39
>>22

クソスレじゃないです!
荒らすのやめてください!!
24デフォルトの名無しさん:2008/12/17(水) 21:29:35
2.5の和書がない件について
25デフォルトの名無しさん:2008/12/17(水) 23:15:59
164の友人ではないが(たぶん)、転勤で熱田区から新宿区に今年転居した。
東京都心部は、名古屋駅〜金山〜今池ぐらいの鉄道状況が名古屋市内全域に整備された感じ。
26デフォルトの名無しさん:2008/12/21(日) 12:19:03
EJBがあるからもうspringイラネ
27デフォルトの名無しさん:2008/12/21(日) 22:53:30
28デフォルトの名無しさん:2008/12/25(木) 01:14:37
外人が日本人を特別視してるってのは、自分の国の歴史少しでも知ってたら誰でも分かるだろ。
まず、資源が全くないってことはすごいこと。もう両手両足もがれたぐらいのハンデ。
しかもすごいのは、米国の3分の1の人口、わずか25分の1の領土で、
その上ただでさえ極小の国土の7割が山、山、山。なーんにもない、山・・・。
だから農業で輸出して食べていくことすらできない。条件からして最貧国でもおかしくない国。
そんな国が、100年ほど前で当時世界最強クラスだった露助とか清をあっさり倒して、
非白人国家で普通に白人常任倶楽部仲間入りしちゃってて、おまけに米国敵に回して
ガチで戦争して、世界で唯一米国本土爆撃して、英国の無敵艦隊フルボッコにして、
オランダ倒して、世界で唯一原爆落とさせるほどてこずらせて。しかも二発だよ。二発。考えられない。
敗戦とか言ってるけど日本のせいでアジアから白人の植民地全部消されたし。
しかも信じられないのは、戦争に負けてただでさえ何にもない国がさらにインフラまで全部叩き潰されて、
多額の賠償金まで背負わせて100%再起不能にしといた極貧衰弱国家で、
今度こそ生意気なイエローモンキーJAPが消えて数百年はウザイ顔見ないで済むと思ってたら、
直ちに再び白人社会に経済で参戦して来くさって、参戦どころかごぼう抜きでたった2,30年であっという間に米国さえ抜いて世界第一位。
東京の土地だけで米国全土が買えるほどの呆れた価値になっちゃう程の超絶経済力で世界中( ゜Д゜)ポカーン・・・状態。
その後もずーっと二位維持。頭一本でそれ。
しかも経済の80%が内需。内需だけでそれ。
金融とかでまだ全然進出してないし車や家電、工業製品ももまだまだ進出しきってなくてそれ。
もうキチガイの域。伸びしろありすぎワロタ。戦後60年一発も打たずに侵略せずにこれ。
何気に世界最長寿国とかなってる。んで今度は漫画・アニメ・ゲーム。気がつけばハリウッドの規模とっくに超えてる。
アメリカの検索で一位になってるのが日本のアニメとか。世界中で一番人気の映像作品が日本のアニメとか。
極めつけは世界一長い国号、2000年のどの白人より長い王室ならぬ、その上の皇室保有。エンペラーに代表される歴史。
普通の神経してたらこんな国怖くて関わりたくないわな。
29デフォルトの名無しさん:2009/02/03(火) 00:00:05
全然人が来なくなったね...。
SpringSourceが東京でトレーニングをするらしいけど、どれくらい受ける人いるんだろう?
ttp://www.springsource.com/training/sp001/nrt-20090224/?geonr
30デフォルトの名無しさん:2009/02/05(木) 17:42:09
Spring の jar をダウンロードするために、
ひさしぶりに http://www.springframework.org にいったが、
downloads ページに行ったら、community の方でも、メアド登録が必要になってた。
なんかめんどくさくなったなぁ。

どうしてもいやなひとは、maven のリポジトリ等から直接落とせるけど。
31デフォルトの名無しさん:2009/02/05(木) 21:32:24
「やべぇ…なにこれ。マジでパネェ…。」
思わず立ちすくみ息を飲んだ。
目の前にはドロハンにWレバー、KEOcarbon、9速i-motion9化
されたESCAPE Ri3があった。
黒光りするシックなフレーム、野性を感じるスタイリング…。

「俺のRi3に何か?」
どうやらこいつが持ち主のようだ。パッとしない感じで、オドオドしている。
「ああ、ごめん。すごいイジってるんだなと思ってさ」
持ち主の目が急に輝きだし、雄弁に語り始めた。
ピストバイクに間違われたこと、TREKをぶち抜いたこと、箱根峠で足をつかなかったこと、
湘南で一番イケてるescapeという名の英雄に憧れたこと…。

ひとしきり話したあと、彼は俺に聞いた。
「君ももしかしてスポーツ自転車乗りなの?ひょっとしてRi3乗り?」
すこし躊躇ったが正直に答えた。
「…ああ、そう。自転車乗り。俺の自転車はあれなんだ。」
彼は俺の指した方向を見て驚愕した。
「あ、あれって…まさかREVIVE!?」
「…いや、i3なんだ…。REVIVE i3ってね」
彼は涙目になっていた。そして顔を真っ赤にしてこういった。
「う、うらやましくないぞ!俺のESCAPEには野性があって、プライドがあるんだ!」
ESCAPE Ri3に跨り、彼は逃げるように去った。ノーヘルのままで。

まいったな。確かに内装クロスごときをあんなヘンテコにイジってるから、
面白がって見てたが、傷つけるつもりはなかったのに…。
彼の最後の言葉を思い出して、我慢していた腹筋がとうとう決壊した。
「さて、野性とプライドとやらをぶち抜きに行くか……プッ」
遅いから、先に発進したかったのに。
キング オブ 内装変速クロスバイク、ESCAPE Ri3。
32デフォルトの名無しさん:2009/03/08(日) 19:17:57
applicationContext.xml において、<util:list> タグを使うと List のインスタンスを作ることが出来ます。

<util:list id="hogeList">
 <value="aaa"/>
 <value="bbb"/>
 <value="ccc"/>
</util:list>

この hogeList という bean を、List を引数に持つ setter メソッドがある bean に
Setter インジェクションすることが出来ます。

んで、Integer 型のインスタンスを作ることは出来ないでしょうか?
以下のようにやればとりあえず出来たが、なんかちょっとダサい。

<bean id="MAX_VALUE" class="java.lang.Integer">
 <constructor-arg>
   <value>5</value>
 </constructor-arg>
</bean>

<util:***> をさがしてみたけど、なさそうなのですが・・・
33デフォルトの名無しさん:2009/03/10(火) 18:55:12
util:constant
34デフォルトの名無しさん:2009/04/10(金) 18:28:37
あるある
35デフォルトの名無しさん:2009/04/21(火) 20:31:39
Hosyu
36デフォルトの名無しさん:2009/05/02(土) 17:04:39
あったあった
37デフォルトの名無しさん:2009/05/04(月) 13:51:49
www.springframework.jpが403になるのは・・・なんで?
38デフォルトの名無しさん:2009/05/05(火) 02:34:09
Springって、Webアプリケーション以外にも有用でしょうか?
小規模(5kステップ程度)なスタンドアローンアプリを作ろうとしています。

解説サイトを見ても、Webアプリを作る前提の解説ばかりなので、
スタンドアローンアプリでのSpring利用を体験されている方がいれば、お話を伺いたいです。
39デフォルトの名無しさん:2009/05/05(火) 03:54:18
そもそもどうしてそのアプリでDIコンテナを使おうと思ったのかね?
それを考えると有用かどうかは解るんじゃないの?
40デフォルトの名無しさん:2009/05/05(火) 06:14:45
返信ありがとうございます。

まず、作成しようとしているアプリは、対象サーバから情報を取得し、
その情報を加工して出力するアプリです。
現段階で、出力方法を一種類に決定できないため、
DIを利用し、後で出力用クラスを入れ替え可能にしておくと、
アーキテクチャとして綺麗になるかなと考えていました。

ただ、DIを使うまでもなく個別にコンパイルしてもよいため、
出力用クラスの入れ替え以外にも、単体テストが行いやすいなど、
スタンドアロンアプリでのDI利用の大きなメリットが存在すれば
利用してみたいと思い、質問していました。
41デフォルトの名無しさん:2009/05/07(木) 00:03:30
>>40
そのアプリは Swing などの GUI をもつものなのか、
それともバッチなのかな?

web アプリだけでなく、バッチでも Spring 使っているところは多いと思うし、
たぶんあなたの用途でも有効利用できると思うよ
4241:2009/05/07(木) 00:42:35
というか自分もバッチで Spring 使っている
4340:2009/05/08(金) 02:52:08
>>40
GUIは持たないのですが、サーバーを監視し続けるデーモンを作ろうとしています。

Spring有効そうですね。これまで使ったことなかったので、決断できずに質問をしていました。
JUnitとの連携でアノテーションが出てきたり、不明な点もありますが、習うより慣れろですね。
利用してみます。ありがとうございました。
4441:2009/05/08(金) 05:13:39
>>43
なるほど。

いきなりアドバンスドな例になるけど、Apache Geronimo や ServiceMix などは、
自分自身の内部で Spring を使っている。(モジュールを DI 化している)

Spring はいろいろなことが、いろいろな書式で出来るから翻弄されるけど、
本質は「オブジェクトを DI 化して、差し替え可能にする」ことなので、それを忘れないこと。

Spring + JUnit でも、アノテーションを使わずにできる。
Spring のいいところは、やりたいことが、アノテーション方式でも XML 方式でも、複数のやり方が用意されている点。

初めてということなので、ググりまくるより、以下の2冊を頭っから読んでいった方がいいと思う。
少し古い面もあるけど、それこそ本質が書いてあるので、
ググって頭でっかちになるよりいいと思う。

http://gihyo.jp/book/2005/4-7741-2341-2
http://gihyo.jp/book/2007/4-7741-3000-1

サーバを監視続けるデーモンとのことだけど、
自分の例では、よく Web サービスクライアントとなる部分を Spring の DI でつくるけど、
クライアントクラスはインターフェースとして定義しておき、
実装(具象クラス)を、Axis2 を使ったものにしたり CXF を使ったものにしたり、複数用意して
applicationConfig.xml の設定で使い分けたりしている。(CXF だと動くのに Axis2 だと動かない、など)

そのクライアンととなるクラスを呼び出す、親のサービスクラスをテストするときは、
Webサービスクライアントをモックにしてしまえばいいわけだから、何かの値をハードコーディングするような
クラスを書いてしまい(Axis2 も CXF もいらない)、テスト時は applicationContext.xml でその具象クラスを DI するようにすればよい
(もちろん EasyMock などを使っても良いが、ここでは触れないでおく)

デーモン化したければ、quartz と組み合わせる例も上記の書籍(上の方)に載っている。
実業務で使えるものかどうかはわからないが、イメージはつかめると思う
4540:2009/05/12(火) 00:45:29
>>41
返信が遅くなりました。申し訳ありません。
多くのアドバイスありがとうございます。かなり具体的な内容でそのまま役に立ちそうです。
Springをある程度理解してから、それぞれ調べてみます。

今とりあえず、上の本「Spring入門」を購入し、読んでいます。
Springの説明だけでなく、随所に挿入されているコラムがとても参考になります。
まだ最初しか読めてませんが、P.23の「安定依存原則と依存関係逆転原則」など
アプリケーション設計を考える上での重要な概念を学べて、
今後の開発で活きてくる知識だと感じています。

たくさんのアドバイスありがとうございました。
46デフォルトの名無しさん:2009/05/17(日) 20:00:22
Spring DM使い始めたが、これ使うとOSGi用のBundleActivatorさえ要らないんだな。
SpringとOSGiを使いながらSpringやOSGiのAPIへの依存さえコード上には存在しなくなる。
サーバー側だけじゃなくて、拡張性持たせるクライアントアプリとかにも良さそう。
47デフォルトの名無しさん:2009/05/17(日) 20:18:59
むしろクライアントアプリの方が活きる
48デフォルトの名無しさん:2009/05/17(日) 22:01:50
Eclipse って、もうすでに、中で OSGi(Equinox) が動いているんだっけ?
49デフォルトの名無しさん:2009/05/17(日) 22:35:42
>>48
3.0からそうだよ
50デフォルトの名無しさん:2009/05/17(日) 22:36:12
>>48
3からはOSGiベースだよね。要するにOSGiバンドルの集合体=Eclipse 3.x。
ただ元々OSGiじゃないプラグインシステムを置き換えたから、
独自仕様とOSGiの部分が混在してる。

ServiceMix Kernelは4からFelix(OSGi実装)+SpringDMでやってたっけ。
ドキュメントが少なくてまだよく分かってない部分も多いけど、
あの方向性は興味ある。
51デフォルトの名無しさん:2009/05/17(日) 22:36:15
いまだに俺はOSGiがなんの役に立つか分からないし、実現される気がしない。なんだあれ?
心の中で「オスギ」と読んでるのは俺だけでいい。
52デフォルトの名無しさん:2009/05/17(日) 22:41:51
>>51
元々モバイル用とも想定してたから動的にモジュールのロード云々とか
言われるけど、それよりもJava 7で入れるのどうのこうの言われてる
スーパーパッケージみたいな概念の方がより意味がある。
どのパッケージを外部に公開するか、どの外部パッケージの
バージョンいくつをインポートしろとかをメタデータに記述出来るので
例えばJAX-B 2.1と2.0を同じランタイム上で混在させたり出来る。
Eclipseが採用したのもたぶんその辺りがプラグインアーキテクチャ向けだったからだろうね。
53デフォルトの名無しさん:2009/05/17(日) 22:51:38
5448:2009/05/18(月) 02:49:05
みなさんレスどうもありがとうございます。

>>50
おー、ServiceMix を追っかけている人発見。
自分も追いかけをしているけど、思った通り動かない部分もあるし、
ドキュメントもだんだん追いつかなくなってきているし、ServiceMix は正直疲れる。

>>51
Java の ClassLoader で困ったりすると、OSGi に興味がわくと思いますよ。
APサーバ本体に(たとえば) spring の jar をつっこんでいて、デプロイしたアプリケーションに
ちょっと違うバージョンの spring の jar を含めていて、なんで NoSuchMethodError がでるんだろう、とか。
55デフォルトの名無しさん:2009/05/18(月) 14:41:04
>>54
ServiceMixとかも含めて、Spring DMとOSGiフレームワーク使って色々開発
するときの一番めんどくさいのは、やっぱりまだOSGiバンドル化したものが
有名どころだけで、ちょっとマイナーなライブラリだと自分でラッピングしなきゃ
行けない所だろうなあ。Mavenとか使ってると特にそう思う。
SpringSourceのバンドルレポジトリは結構がんばってるけど
56デフォルトの名無しさん:2009/05/20(水) 12:55:16
Springでトランザクション管理を行うtxスキーマについて質問なのですが、
propagationで使用する「REQUIRES_NEW」と「NOT_SUPPORTED」では何が違うのでしょうか?

以下のページでは既存のトランザクションを停止し、
(新たなトランザクションを開始|トランザクション外で処理を実行)との記載がありますが、
動作的に違いがあるのでしょうか?

http://www.techscore.com/tech/Others/Spring/6.html
57デフォルトの名無しさん:2009/05/20(水) 13:07:14
>56
書いてあるとおりだが、何がわからない?
5856:2009/05/20(水) 13:19:53
>57
懸念しているのがNOT_SUPPORTEDの場合、「既存のトランザクションを停止し、
トランザクション外で処理を実行」とありますが、
InsertやUpdate,Deleteのようにトランザクション外で実行されると困る処理があります。

また、REQUIREDの場合、「既存のトランザクション内で処理を実行」とありますが、
既存のトランザクション内で処理を実行してしまうと、どちらか片方で処理でロールバックが発生した場合には
両方ともロールバックされますよね?
結果的にWebアプリで使えるのはREQUIRES_NEWしかないように思えたのですが、考え方が間違っていたらどうぞ教えてください。
59デフォルトの名無しさん:2009/05/20(水) 18:48:07
>>58
web アプリかどうかかより、「なにをやりたいか」だと思います。
まぁ web アプリだと、やりたいこともある程度偏ってきますが・・・

> 懸念しているのがNOT_SUPPORTEDの場合、「既存のトランザクションを停止し、
> トランザクション外で処理を実行」とありますが、
> InsertやUpdate,Deleteのようにトランザクション外で実行されると困る処理があります。

通販サイト、受注管理などのweb アプリで、画面から受け取った受注登録の情報を書き込むためにトランザクションを開始しているが、
最後に商品の受注を commit する前に、ログテーブルに書き込んでおきたいとする。
受注TBL への insert が失敗するとロールバックするのが普通だが、ログTBLへは commit しておきたい。

またログTBLへの書き込みなんかは、別に失敗してもかまわないので、トランザクション管理しないで(オートコミットで)書き込みたい。
(トランザクション管理しないほうがパフォーマンスがよいし)

こういうときに、LogDao が行うトランザクションは、別トランザクションにし、NOT_SUPPORTED を使ったりします。
んで、LogDao の処理が終わって戻ってくると、トランザクションが開始される。
受注TBLへの commit が失敗すると、業務的なDB更新はロールバックされるけど、ログTBLへの書き込みは行われている。

まぁwebアプリで、業務データの書き込みに使うトランザクションは、REQUIRES_NEW が多いと思います。
60デフォルトの名無しさん:2009/05/20(水) 18:50:57
なこたーない。9割方REQUIREDだよ
6159:2009/05/20(水) 18:51:19
ちょっとわかりにくい文章がありました。

下から3行目:
誤:んで、LogDao の処理が終わって戻ってくると、トランザクションが開始される。
正:んで、LogDao の処理が終わって戻ってくると、業務データのトランザクションが再開される。
62デフォルトの名無しさん:2009/05/20(水) 19:20:00
既存のトランザクションってのを勘違いしてそう。
別スレッドのトランザクションとは独立してるぞ。
63デフォルトの名無しさん:2009/05/20(水) 19:29:20
>>62
それは >>59 に対して? それとも >>57 に対して?
6456:2009/05/21(木) 11:54:25
>>59
Dion規制中により返信が遅くなりました。
回答ありがとうございます。ようやく使い方を理解することができました。
大きく勘違いしていたのは、>>62 さんも書いているように、
「既存のトランザクション」の考え方でした。
自分の中では、アクションクラスから呼ばれるビジネスロジックのメソッドの開始時点で
トランザクションの開始、ビジネスロジックを抜けるときにトランザクションの終了と
いうパターンのみを考えていました。

実際の使用では、ビジネスロジック内部でさらにDAOクラスごとにPROPAGATIONを使い分けているのですね。
>>59さんのLogDao、NOT_SUPPORTED の使い方の記載はわかりやすく助かりました。
65デフォルトの名無しさん:2009/05/21(木) 13:24:17
>>59
サービス系クラスにREQUIREDのトランザクションをかけて、
それらを組み合わせて一つのトランザクションとして使うのが通常だと思う
EJBもデフォルトはREQUIREDだし、たしかSpringもそうだった筈
REQUIRES_NEWを使うのは、すでにトランザクションが開始されていて、
それには参加せずに処理を行いたいが、
その処理に対してもトランザクションを実行したいときとかのみ
6659:2009/05/21(木) 16:14:52
>>60 >>65 レスどうもありがとうございます。
指摘を受けて、過去の案件のソースを見直したところ、たいていのサービスクラスには REQUIRED をつけていました。

よって >>59 の↓は訂正します。
> まぁwebアプリで、業務データの書き込みに使うトランザクションは、REQUIRES_NEW が多いと思います。

>>65 さんの説明でほぼ終了していますが、 >>56 さんに誤解のないように説明しておきます。
○web アプリの例として、Struts + Spring とします。
○まず、(他のみなさんはどうかわからないけど)私は tx スキーマ(あるいは @Transactional アノテーション)で
 挙動を制御するのはサービスクラスに対してで、DAO にはつけていません
 # DAO は必ず、とあるサービスクラスから呼び出すこととし、Struts の Action からの直呼出は禁止にする
 # >>59 の例では LogDao は NOT_SUPPORTED にすると説明しましたが、
 # 実際にはそうせずに LogService 経由にし、LogService を NOT_SUPPORTED にしています。
 # 混乱させてすみません

●REQUIRED は、>>56 の TechScore のサイトの通り、以下のようになります。
・すでにトランザクションがあれば、そのトランザクションの中に合流(参加)
・なければ、新たにトランザクションを開始

6759:2009/05/21(木) 16:15:27
(続き)

Action からサービス呼出をするときに、サービスには REQUIRED にしておけば、
以下のようにサービスを多段呼びだししても、トランザクションは一つにまとまります。
多段呼び出ししただと、XxxService の中で YuuService を呼び出し、それが返って来て XxxService 内の (3)で
エラーが起きても、(1)、(2)もまとめてロールバックされます。

FooAction
 →XxxService
   (1)
   →YyyService
    (2)
   ←
   (3)
 ←

サービスに REQUIRED_NEW をつけてしまうと、XxxServce から YyyService を呼び出したときの
トランザクションが別になってしまうため、上述のように
XxxService の中で YyyService を呼び出し、それが返って来て XxxService 内の (3)で
エラーが起きた場合、(1)はロールバックされますが、(2)はcommitされてしまっています。

webアプリでこのようなことを明示的にやりたければ REQUIRED_NEW を使いますが、
たいていの場合は、>>60 さんや >>65 さんのいうとおり REQUIRED で事足りると思います。
(長々とすみません)
6856:2009/05/21(木) 23:41:35
>>59
> # 実際にはそうせずに LogService 経由にし、LogService を NOT_SUPPORTED にしています。
> # 混乱させてすみません

とんでもないです。
本レベルでしかSpringを用いた実装の経験が無いものですから、
経験者の方の意見とサンプルは非常に助かります。
丁寧なご説明、どうもありがとうございました。
69デフォルトの名無しさん:2009/06/18(木) 22:27:18
>>69
  ∧ ∧ 彡
ミ ( ^ω^ )っ 彡
  O ノ タタタタ…
 ミ| (_) 彡
ミ し´ 彡
70デフォルトの名無しさん:2009/07/17(金) 02:00:27
Spring について色々調べてるんですがいまいちよく分からない…。

これって結局なんなの?

DI とか抽象的すぎて意味不明だし。

結局これ使うと何が嬉しいの?誰か教えて…。
71デフォルトの名無しさん:2009/07/17(金) 08:08:38
DI : 依存性の注入

簡単に言えば、オブジェクト間を疎結合にして、必要な依存は外部から解決してあげようって考え方。

Hoge hoge = new Hoge();
72デフォルトの名無しさん:2009/07/17(金) 21:07:13
Hoge hoge = HogeFactroy.getInstance() ;

と思ったのは俺だけではないと思う・・・。
73デフォルトの名無しさん:2009/07/17(金) 21:08:02
いや俺だけだな。ファクトローイ
74デフォルトの名無しさん:2009/07/17(金) 21:09:34
ファックトロイ!
75デフォルトの名無しさん:2009/07/17(金) 21:11:44
>>70
マジレスすると、画面とビジネスロジックとDBアクセスを完全に切り分けて
XMLで稼動するクラスやそのインスタンスが持つ初期値を切り替えましょ
ってとこ。それをいろいろ応用してくとspringの全体像に近づく。

COBOLや昔のVBライクなコーディングするようなプロジェクトには
まず必要ない。てかstruts1.1の提案しか出来ないSIerにも必要ない。
76デフォルトの名無しさん:2009/07/17(金) 23:30:08
ところでいまさらなんだが、スレタイから Java 削らないか?
.NET 版も結構枯れてきていい感じだよ。
全然情報なくて悲しくなるけど。

Enterprise Library とか何がうれしいのかさっぱり分からん。
77デフォルトの名無しさん:2009/07/18(土) 03:40:01
struts1.3 + spring2.5でdelegatingactionproxyで連携
しようと思っています。
この場合、DIするためにActionクラスにインスタンス変数を
持たなければならないのですが、この変数はスレッドセーフで
動作するのでしょうか?
しないならば、どのような解決策が考えられるでしょうか?
どなたかお知恵のある方、ご解答よろしくお願いします。
78デフォルトの名無しさん:2009/07/18(土) 04:05:57
マルチポストはやめなさい
79デフォルトの名無しさん:2009/07/18(土) 11:38:32
>Actionクラスにインスタンス変数
おまえはActionクラスとサーブレットの違いをまず学習しろ。話はそれからだ。
80デフォルトの名無しさん:2009/07/18(土) 11:43:10
81デフォルトの名無しさん:2009/07/18(土) 11:46:51
最後に解答であるが、(ブラウザの文字エンコードに注意しつつ)
ttp://www.jajakarta.org/struts/struts1.2/documentation/ja/target/api/org/apache/struts/action/Action.html
これを読む。
82デフォルトの名無しさん:2009/07/18(土) 13:07:26
83デフォルトの名無しさん:2009/07/18(土) 14:49:33
>>82
>struts1.3 + spring2.5

strutsの思想が失敗だったのかも知れないが、struts1系を使おうと
するのにActionクラスに変数を持たせようとする設計がどうかしてる。
クラス変数にしなければならない理由もないだろ。一番簡単で陳腐で
よく使われてたのが、abstractをかましてexecuteを実装し、
そこで継承させるactionに共通で利用する変数を引数で渡す方法。
それか同期化する。
84デフォルトの名無しさん:2009/07/18(土) 15:25:38
>>77
Spring上でActionクラスをprototypeに宣言した場合、
呼出し毎にインスタンスが作られるから複数スレッドで変数は共有しない
singletonにすると共有してしまう
Springと連携しない場合、基本的にStruts1のActionはスレッドセーフではないから注意

http://static.springsource.org/spring/docs/2.5.x/reference/web-integration.html#struts-delegatingactionproxy
85デフォルトの名無しさん:2009/07/18(土) 15:30:47
Springで管理するクラスなんてほとんどの場合がSingletonなんだから、
Actionのフィールドにすることは何ら問題にはならないと思うのだが、
何を騒いでいるのかね?キミたちは。
86デフォルトの名無しさん:2009/07/18(土) 15:48:05
>>85
まぁそうなんだけど、prototypeの場合
Actionやサービスクラスをスレッドセーフ意識して作る必要が無くなるから
何か役立つ状況があるかもしれないし、知っておいて損は無い
87デフォルトの名無しさん:2009/07/18(土) 16:00:34
>>85
んなアホのひとつ覚えのことはspringやってれば誰でも知ってる
88デフォルトの名無しさん:2009/07/18(土) 16:10:33
だから何を騒いでるんだ?って聞いてるんじゃないの?
89デフォルトの名無しさん:2009/07/18(土) 17:14:48
騒いでないだろうが。いまごろActionでスレッドセーフ云々とか
言い出す消防がいることに問題があるんだろ。
90デフォルトの名無しさん:2009/07/18(土) 17:33:10
どうやら、>>85が自分にアテられたと思っているようだ。
自意識過剰な人だね。
91デフォルトの名無しさん:2009/07/18(土) 18:56:45
>>89
Struts1のActionのライフサイクルはSpringで好きに管理できることを
知らずに回答してる人がいることの方が問題な気がする
9277:2009/07/19(日) 00:29:25
77です。マルチポストしてすみませんでした。
期日が迫っている作業なのであせっていました。
どうやら変数のスコープをプロトタイプにしたところ
hashCodeが異なる値で取得出来たので問題なさそうです。
ありがとうございました。
93デフォルトの名無しさん:2009/07/19(日) 01:45:19
回答もマルチポストという所がワロタ
94デフォルトの名無しさん:2009/07/19(日) 23:20:52
77のマルチポストも問題だが、
その程度のメンバー抱えて
Spring使用に走ったアーキテクトは無能だな。
95デフォルトの名無しさん:2009/07/21(火) 16:54:38
Spring を使ってみる事にしたんですが、こいつのコネクションプーリング
的なものは使った方がいいんでしょうか?

Struts でも似た様な事ができるんでしょうか?

何かいろんな所で色んな事ができるのでどれでやるのが一番いいのか
分からないんですよね…。
96デフォルトの名無しさん:2009/07/21(火) 17:39:17
コンテナが管理するDataSourceをSpringで取得してDIするのが吉。
97デフォルトの名無しさん:2009/07/21(火) 18:30:44
>>96
すいません、例えばこういうのを使うという事でしょうか。

<bean id="dsAdapter" class="org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS">
<property name="driver" value="org.postgresql.Driver"/>
<property name="url" value="jdbc:postgresql://xxxxx"/>
<property name="user" value="xxxxx"/>
<property name="password" value="xxxx"/>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.datasources.SharedPoolDataSource">
<property name="connectionPoolDataSource">
<ref local="dsAdapter"></ref>
</property>
<property name="defaultAutoCommit" value="false"/>
<property name="maxActive" value="5"/>
<property name="maxIdle" value="4"/>
<property name="maxWait" value="10000"/>
</bean>

他のサイトからパクってきたんですが。

例えば、これをあるパッケージ以下のクラスに全て DI したいとすると、
どういう方法がありますか?
98デフォルトの名無しさん:2009/07/21(火) 18:46:06
>>97
ちがう。それはSpringで独自にDataSourceを作る方法。
他のサイトをパクる前に、付属のドキュメント見ろよ。
かなりわかりやすい部類だと思うけど。
99デフォルトの名無しさん:2009/07/21(火) 19:44:25
>>98
Spring 付属のドキュメントですか?

読んだのですが、あれって DAO を作る事を前提としている
構造ではないんでしょうか?

DAO を作るのとかかったるいので、とりあえずプーリングだけ
してくれればいいと思っていたのですが…。

あっちでもプーリングだけとして使えるのでしょうか?
100デフォルトの名無しさん:2009/07/21(火) 20:47:05
あと、ふと思ったんですが Struts の 〜Aware と DI って考え方が
似てますよね。

今 Interceptor で DataSourceAware(自作)としたクラスには
DataSource を注入しようとしているんですが、これって DI なのかな〜
と思いました。

まぁ抽象度は一歩低いのかもしれませんが。
101デフォルトの名無しさん:2009/07/21(火) 21:18:21
あんたには無理ぽ
102デフォルトの名無しさん:2009/07/21(火) 21:22:48
>>101
まぁとりあえずできました。

Spring で DI しようかと思ったんですが、いちいちデータベース
接続が必要なアクションに XML でごりごり書くのも面倒なので
〜Aware でやった方が楽ですね。型もしっかりしますし。

何かよく分かりませんが DBCP もうまく動いてる様なので
これでやってみます。
103デフォルトの名無しさん:2009/07/21(火) 21:37:21
質問と見せかけた荒しか。手が込んでいるなw
104デフォルトの名無しさん:2009/07/21(火) 21:42:05
>接続が必要なアクションに XML でごりごり書くのも面倒
>型もしっかりしますし。


・・・ぷ。


まぁ、それで納得してるならいいけど。
105デフォルトの名無しさん:2009/07/21(火) 21:52:33
>>104
いや、何か間違っているなら説明をお願いします。
Struts + Spring は初めてなので流儀が分かりません。

無理矢理 DI する事も可能だとは思ったんですが、
全部 Setter 書くなら結局一緒じゃないですか?
むしろ〜Aware でやっておけば XML にごちゃごちゃ
書かずに済む分記述も楽だと思うんですが…。
それじゃ結合がごにょごにょ…という話ですか?

あと、感心したんですが、Interceptor も Spring で生成
できるんですねぇ。Struts も Spring もよくできてますね。
ログインの Interceptor を作ったんですが、こいつに
ゲストの ID とパスワードを DI する事ができました。
106デフォルトの名無しさん:2009/07/21(火) 22:18:23
セッターやゲッター手書き?
ide使えば、楽なのに。

spring界隈で使われる"pojo"は理解してる?
107デフォルトの名無しさん:2009/07/21(火) 22:26:30
>>106
Eclipse を使ってます。

確かに getter, setter を書くのはまぁやれない事はないですが、
applicationContext.xml なりに全部の Bean に対する記述を
しなければならない訳ですよね?
(仮に全部の Bean で共通して使用する様なオブジェクトが
 あった場合)

Struts の〜Aware でやっておけば、そんな記述はいらない
ですし、その分楽なんではないかと…。

でもそれすると確かに POJO ではなくなってしまいますよね。
でもそれを言い出すと SessionAware とかも使えなくなって
きちゃう訳ですよね。ん?? そう考えると Session の内容を
DI できればいいんですかね。そんな事ってできるんでしょうか?
108デフォルトの名無しさん:2009/07/21(火) 22:34:18
@Resourceとか@Serviceとかうまく使えばXMLはほとんどいじる必要ないし、
型がしっかりとか意味不明だし。
109デフォルトの名無しさん:2009/07/21(火) 22:36:05
setterも書かなくていいよ。
110デフォルトの名無しさん:2009/07/21(火) 22:37:46
こいつホントにドキュメント見たのかよ。
111デフォルトの名無しさん:2009/07/21(火) 22:39:41
すいません
「Developing a Spring Framework MVC application step-by-step」
ってやつをざーっとしか呼んでないです。

見直してみます。
112デフォルトの名無しさん:2009/07/21(火) 22:40:27
>>107
基本機能を調べもしないで作ってもグチャグチャになるだけだよ
まずはStruts2だけで一通り作ってみたら?
宣言的トランザクション管理やAOP機能が必要ならSpring連携は必須だけど
そういうレベルでもなさそうだし
113デフォルトの名無しさん:2009/07/21(火) 22:50:36
>>112
確かにそうなんですが、とりあえず Spring というものを使って
みたかったんです。

基本を学ぶのにいいページとかないでしょうか?

色々見て回ってるんですが、どうも全体像がうまく掴める様な
サイトがないんですよね…。

何となく話を聞いていると Spring って DI じゃなくて結局
トランザクションとか AOP とか DI 以外の何かが便利なん
ですかねぇ。よく分からなくなってきました。

まぁ大した大きさのプロジェクトじゃないのでグチャっても
何とかまとめあげる事はできると思うので続行します…。
114デフォルトの名無しさん:2009/07/22(水) 00:11:35
絶対失敗するプロジェクトの見本がキタ━(゚∀゚)━!
115デフォルトの名無しさん:2009/07/22(水) 00:15:49
あはは(笑)

大丈夫ですよ。Spring を活かし切れなくても要件は確保できる自信は
あります。

つか、マジで色々調べてるんですがセッションの内容を DI する仕組み
が見つかりません…。そういう事できないんでしょうか?
116デフォルトの名無しさん:2009/07/22(水) 00:20:05
sessionスコープでBean定義すればよろし。
117デフォルトの名無しさん:2009/07/22(水) 00:26:49
>>116
すみません、もしかしたら同じ事を言っているのかもしれませんが、
Struts の Action だと、request のパラメータは自動的に DI される
と思うのですが、Session の内容は SessionAware にしないと DI され
ないですよね。

それを、Action オブジェクトを Spring 経由で生成する様にした時に
自動的にセッションの内容も DI してくれる様にしたいのですが、
そういう事でしょうか?

session で bean を定義しても、getBean とかで取ってこないといけ
ない訳ですよね?それって Injection になっていない気がするん
ですが、どうなんでしょう…?
118デフォルトの名無しさん:2009/07/22(水) 00:30:05
DIすりゃいいだろJK
119デフォルトの名無しさん:2009/07/22(水) 00:51:01
>>118
あ、session スコープで定義した bean 自体を DI する、と!!
おおぉ!そういう事ですよね?

何となく分かった気がします!やってみます。
すいません本当に初めてでよく分かってなくて…。ありがとうございます。

これってよく使われる手法なんですか?
120デフォルトの名無しさん:2009/07/24(金) 11:02:29
DI にそった形で作ろうとすると、色々考えなきゃいけなくて結局
DI じゃない形で作るより時間かかりますねぇ。

再利用できないコンポーネントなんか意味ないし、かといって
再利用できる様に設計しながら作るとコード量がガンガン増える…。

どっちがいいんだか分からなくなってきました。
一発目は辛いけど二発目からは楽になるんでしょうか。
121デフォルトの名無しさん:2009/07/24(金) 12:54:02

> 再利用できる様に設計しながら作るとコード量がガンガン増える…。

え?何言ってるの?
再利用した分で充分に元は取れるだろ
122デフォルトの名無しさん:2009/07/24(金) 13:18:29
>>121
例えば、ログインのロジックなんかはそのプロジェクト一回でしか使えない
ですよね。似た様なロジックがその後別のプロジェクトで使えれば、
そこで元は取れると思いますが、単発のプロジェクトで考えた時には
単純にコード量が増えているだけと捉えられませんか?

もちろん、そんなコンポーネントだけではないと思いますが。
123デフォルトの名無しさん:2009/07/24(金) 13:46:07
再利用と言っても、同一アプリ内のスコープでしか考えないことにしている。
他のプロジェクトでの再利用はあまり現実的ではない。
DIはモックテストがやりやすい点が便利って程度。
慣れれば設計が大変とは思わないけどねー
124デフォルトの名無しさん:2009/07/24(金) 14:55:25
>>122
例が極端すぎる。そんなのあたりまえだ。

再利用が見込めるところだけを再利用可能なコンポーネントとして設計する。
それがきちんと見極めるのが良い設計者だ。
125デフォルトの名無しさん:2009/07/24(金) 20:49:32
>>122
・何事もやりすぎはよくない
・できるだけシンプルに考える

これだけでも意識していればいいと思う
126デフォルトの名無しさん:2009/07/24(金) 23:21:39
>>123, 124, 125
レスありがとうございます。

逆に、注入する依存性を変化させるだけで再利用できるコンポーネント
ってどんなのがあるんでしょうねぇ?

ちょっと自分には想像できませんでした。
みなさんの実際にやったプロジェクトではどのようなものがありました??
127デフォルトの名無しさん:2009/07/25(土) 03:39:52
>DI にそった形で作ろうとすると、色々考えなきゃいけなくて結局
>DI じゃない形で作るより時間かかりますねぇ。
DIで沿った形で作ろうとしてる時点でたぶんもうダメなんじゃないかな。
インターフェースだけきっちり決めて、さくさく作ろうとする時に、
モジュール間をくっつける手段としてDIコンテナ使うだけの話だよ。

普段どういうスタイルで作ってるのよ。
128デフォルトの名無しさん:2009/07/25(土) 05:21:43
DIって再利用が主眼なのか? 差し替えを容易にすることで、テスタビリティや拡張性を向上させるのが主な目的と思ってたんだけど。
129デフォルトの名無しさん:2009/07/25(土) 12:54:22
>>128
そうそう。

例えば、JDBCやORMapperとか扱う時も、そうだしね。

Spring Frameworkって言っても、どちらかというとframeworkじゃなくて
ミドルウェアみたいな気がする。
130デフォルトの名無しさん:2009/07/25(土) 14:16:07
>>127-129
読んでて納得しました。

確かに、差し替えを容易にするって言うのが、メインの考え方かもしれない
ですね。

でもそう考えると Interface で定義して組み立てていくのと何が違うのか…?
という部分でちょっと謎が残るんですが…。

applicationContext.xml さえ再読み込みさせれば Tomcat を再起動しなくて
済むとかそういうメリットでしょうか?(そういう事ができるのかは知りませんが)
131デフォルトの名無しさん:2009/07/25(土) 16:45:13
Factoryパターンの発展系やオブジェクトプーリングの側面もあるような気が
132デフォルトの名無しさん:2009/07/25(土) 18:43:48
自分的には、DIコンテナはAOPを導入する為に使ってる感が強いな
133デフォルトの名無しさん:2009/07/25(土) 19:52:04
>でもそう考えると Interface で定義して組み立てていくのと何が違うのか…?
違わないよ。

今まではベタ書きで組み立てしてたけど、
それをコンテナの仕事にしたってだけの話。

結果として依存性がコードから追い出されたから、
組合せの自由度が増すようになったし、
コンテナの機能でアスペクトを織り込んだり出来るようになった。
134デフォルトの名無しさん:2009/07/26(日) 15:36:04
>>130

たとえinterfaceをちゃんと既定してても、自分でnewしてたら無意味。
だから昔はみんなファクトリクラスをがしがし作っていたんだけど、
DIコンテナが台頭してきたから、車輪の再発明をやめて
それを使うようになったってだけ。
135デフォルトの名無しさん:2009/07/28(火) 04:27:52
バーチャルモックが出てきてぶっちゃけテスタビリティとかどうでも良くなってきててるよな。
136デフォルトの名無しさん:2009/07/28(火) 16:00:54
どうでも良くはなってないだろwww
137デフォルトの名無しさん:2009/07/29(水) 09:37:24
C++にもdiコンテナってある?
138デフォルトの名無しさん:2009/08/01(土) 15:30:32
あるあるww
139デフォルトの名無しさん:2009/08/12(水) 14:17:22
VMwareに買われたな。正直、意味がわからん。

VMwareは何がしたいんだ…?
140デフォルトの名無しさん:2009/08/12(水) 19:45:56
マネーゲーム
141デフォルトの名無しさん:2009/08/17(月) 11:30:41
>>139
まじ??
ソース、あるいはニュースサイトの記事のURLきぼんぬ
142141:2009/08/17(月) 11:33:22
すまん、Guice スレで以下を見つけた

395 名前:デフォルトの名無しさん 投稿日:2009/08/11(火) 21:31:33
SpringSourceが買収されたな
http://journal.mycom.co.jp/news/2009/08/11/015/index.html
143デフォルトの名無しさん:2009/08/18(火) 02:11:20
おぉ。今このスレで初めて知った。orz
144デフォルトの名無しさん:2009/08/23(日) 08:23:25
リッチクライアントを使った先物取引業務システムを構築
http://itpro.nikkeibp.co.jp/article/JIREI/20090811/335517/
>開発言語はJava,フレームワークはSpring Framework2.5,DBMSはOracle 10gを使用。リッチクライアントのツールには,日本ネクサウェブのNexawebを採用した。

Springって実は結構使われてんだな・・・
145デフォルトの名無しさん:2009/08/23(日) 16:56:31
実は、だと?

世間知らずだな
146デフォルトの名無しさん:2009/09/28(月) 10:25:49
SpringMVC でサイトを構築しているのですが、commandClass でコマンドのクラス名
を指定すると思いますが、こいつに DI するにはどうしたらいいのでしょうか?

コマンドクラスに DI できないと非常に不便なので何か方法がないかと探している
のですが、どうもできなくて…。

よろしくお願いします。
147デフォルトの名無しさん:2009/09/28(月) 11:21:52
すみません。

AbstractCommandController を継承して getCommand をオーバーライドした
クラスを作成する事で対応できました。

お騒がせしました。
148デフォルトの名無しさん:2009/10/01(木) 04:39:10
SpringMVCはサンプルプログラムもっと増やして欲しいねえ。
Controllerクラスの解説が希薄に感じる。
149デフォルトの名無しさん:2009/11/22(日) 12:53:15
情報も勢いも少なすぎじゃない?
一通り思いつくの用意したから後は自分で調べろスタンスなの?
150デフォルトの名無しさん:2009/11/29(日) 02:03:33
日本で使いたければそうするっきゃないね。
なんでこうも流行らないのかな、国内だと。
151デフォルトの名無しさん:2009/11/29(日) 09:00:56
日本のプログラマーの多くは上司に進言できる立場にいないから。
または上司がそういったことに興味がないから。
152デフォルトの名無しさん:2009/11/29(日) 17:17:53
久々にJavaの仕事に入ったら、未だにオレオレ基盤クラスを継承させてトランザクション管理とかやっていて
軽く眩暈がしたw
なんか数年前から状況は変わってないな。使わないところはいつまでも使わない
153デフォルトの名無しさん:2009/11/29(日) 18:10:14
使える人間がいなければ使えない。
そして使えるようになるという努力を怠って停滞している。
それだけだと思う。
154デフォルトの名無しさん:2009/11/29(日) 20:15:28
うむ。
155デフォルトの名無しさん:2009/11/30(月) 23:23:08
使いたくても使えないこともある。
156デフォルトの名無しさん:2009/12/01(火) 19:12:29
上流、下流なんて言ってる時点で日本のプログラマーは死んでるよ
157デフォルトの名無しさん:2009/12/01(火) 20:10:04
>>156
概ね同意。
158デフォルトの名無しさん:2009/12/01(火) 20:18:05
海外も日本みたいに腐った階層構造なのかな?
159デフォルトの名無しさん:2009/12/02(水) 21:11:00
>>158
どこだっていつだって蟹工船 (笑
160デフォルトの名無しさん:2009/12/02(水) 23:59:24
階層構造は別に腐っててもいいんだよ。
ただ、死ぬまでしおらしく過労させられるのは日本だけ!
161デフォルトの名無しさん:2009/12/03(木) 01:06:32
マ板でやってくれ
162デフォルトの名無しさん:2009/12/03(木) 01:35:35
3.0が本リリースされるまではここでもいいだろ。
163デフォルトの名無しさん:2009/12/18(金) 00:11:47
3.0リリースされた
164デフォルトの名無しさん:2009/12/18(金) 20:08:20
過疎すぎww
165デフォルトの名無しさん:2009/12/19(土) 00:08:58
だって価値ないもんww
166デフォルトの名無しさん:2009/12/19(土) 02:53:14
>>165
ぷぷっww
167デフォルトの名無しさん:2010/01/26(火) 23:19:15
使われなきゃただのリソース潰しさ
168デフォルトの名無しさん:2010/02/04(木) 12:13:00
3.0出てから5レスしかないって…
169デフォルトの名無しさん:2010/02/04(木) 18:24:58
たぶん俺とお前ともう一人くらいしかこのスレ見てないと思う
170デフォルトの名無しさん:2010/02/04(木) 18:52:34
もうひとりって、俺のことか?
171デフォルトの名無しさん:2010/02/04(木) 20:36:22
いや俺のことだよたぶん
172デフォルトの名無しさん:2010/02/04(木) 22:21:56
俺かな?
173デフォルトの名無しさん:2010/02/04(木) 23:08:07
色々見ててここもウォッチしてるけど、guice同様あと一歩踏み込めない
174デフォルトの名無しさん:2010/02/05(金) 01:03:19
とりあえず2人よりは多く見てるようだな。

1.2で基本は完成して、2.0で設定ファイル周りが綺麗になって、
以降は蛇足と言うかなんと言うか。
(アノテーション、マジ消えて欲しい。)

3.0 でうれしかったのって O/X Mapper が
spring-ws から本体に移籍した点くらいしか・・
175デフォルトの名無しさん:2010/02/05(金) 01:06:50
アンチアノテーションか。珍しいな。
おれはアノテーションがガンガン使われるようになってきてうれしくなってきたくち。

SpringMVCもなかなか良く出来てるし。
Seasar系に近づいただけといわれれば、そういうところもあるけれど。
176デフォルトの名無しさん:2010/02/07(日) 16:23:34
Spring ROO ってなんなのよ?

3.0 になって出てきた、よくわからんプロダクトを説明したサイトないですか?

あと、2.0 の時に作ったプログラム、XML ファイルは、jar を 2.5 にしても
動作していましたが、2.5 の時に作ったプログラム等は、jar を 3.0 にしても動くの?
177デフォルトの名無しさん:2010/02/07(日) 22:22:36
るー ∩(・ω・)∩
178あぼーん:あぼーん
あぼーん
179デフォルトの名無しさん:2010/03/29(月) 15:04:02
最近Springというかrooに乗り換えた初心者です
エロい人教えてください。(WebApp)

・SpringのContextに管理されているオブジェクトの一覧を出したい
今ひとつコンテナの動作とか自分の設定がよくわからないので、すべてのBeanの情報を出す機能をつけたいが上手くいかない。
ContextLoader.getCurrentWebApplicationContextでWebApplicationContextを取って、
そいつのgetBeanDefinitionNamesでBeanの名前の一覧までは取れますが、スコープやらの定義情報が取れません。
もし取れる方法がありましたら教えてください。

・テストコードの実行の仕方
と言っても単体テストとかじゃなくて・・・
機能を試すときのテストコードを書いてすぐ実行して結果をみたいのですが、
現状はWEBサーバーを起動してテストコード入りのコントローラをブラウザで呼ぶ方法しか分かりません。
もっと簡単にコードの実行が出来る方法があれば教えてください。
180デフォルトの名無しさん:2010/03/29(月) 16:59:10
ただでさえ使ってる人が少ないのにそれをさらにエロい人に限定するなんて…
181デフォルトの名無しさん:2010/03/30(火) 00:57:13
るー ∩(・ω・)∩
182デフォルトの名無しさん:2010/03/30(火) 01:00:04
なるほど、エロゲやってる人に聞きたいってことだったのか
183デフォルトの名無しさん:2010/04/01(木) 00:02:30
  _   ,r' )
  \_`ー' Y   _ ,,...,,_
    {*::*}:'::~::::::::::::::":':.、   <Roo-
   /:{@}:::::::::::::/~:::':'::::::::、
   ` 、:_ :::ヽ::;:;:| :::::;;;:::::::::::l
     l /"''l 〕:;;|: :::::::::::;;_}:::l
     |.| //  | |T';_.人 ゙::l
     `";;〈 __| | |   \\
     =ニ二二_,l-'      ヽ.二ニニ==-

こんなスレを覗いてる時点でHENTAIだから恥ずかしがらずに答えてもいいぞ!
184デフォルトの名無しさん:2010/04/24(土) 14:27:28
亀レスだけど、おいらもSpringに関してはアンチアノテーションだな。
スキーマの設定が正常かって確認している?

自分はアノテーションだとトランザクションが特定のクラスだけかかっていないとか、
どこで異常が発生しているのかが把握しにくいから、
設定ファイルに戻して、Spring設定ファイル検証ツールを使って確認をしている。
何かいい方法があるなら教えて欲しい。
185デフォルトの名無しさん:2010/05/03(月) 14:39:05
@Transactional だけはよくつかうが、
セッターインジェクションする Service の指定だっけ? は使わず、XML で指定する派。
186デフォルトの名無しさん:2010/05/03(月) 17:47:35
るー ∩(・ω・)∩
187デフォルトの名無しさん:2010/05/04(火) 11:49:01
188デフォルトの名無しさん:2010/05/04(火) 23:29:53
おっぱいでかすぎ
腹の膨らみも妊娠してるみたいだ
189デフォルトの名無しさん:2010/05/04(火) 23:40:05
かわいいぬ
190デフォルトの名無しさん:2010/05/05(水) 11:10:02
191デフォルトの名無しさん:2010/05/05(水) 13:27:36
(゜□゜;
てかSpring関係ねええええ。どうしてこうなった・・・Rooのせいか
192デフォルトの名無しさん:2010/05/05(水) 14:47:43
そういやth2の18禁版予約して買ったのにいまだやってねーな…
193デフォルトの名無しさん:2010/05/22(土) 14:51:03
SpringIDEいれたいんだけどサイトにアクセスできん。。。
194デフォルトの名無しさん:2010/06/13(日) 11:38:01
Spring Roo
195デフォルトの名無しさん:2010/06/13(日) 12:43:13
るー ∩(・ω・)∩
196デフォルトの名無しさん:2010/06/13(日) 14:19:43
るーるー るるるるるーーーーーー

るーるー るるるるるーーーーーー

ああああーーーーーー んんんんんーーーーーー
197デフォルトの名無しさん:2010/06/13(日) 22:40:51
rooってscaffoldingが出来るだけ?
198デフォルトの名無しさん:2010/06/13(日) 23:34:22
クラス作ったりインターフェース作ったりフィールド増やしたりできるよ









エディタでやるっつーの
199デフォルトの名無しさん:2010/06/14(月) 03:02:53
>197
できる
>198
分からないは黙ってろ
200デフォルトの名無しさん:2010/06/14(月) 03:15:36
>>199
日本語分からないなら黙ってろよ

> 出来るだけ?
> できる

どんな会話だよw
201デフォルトの名無しさん:2010/06/14(月) 18:59:58
るーるるるー
予想通りの展開でワロタwww
202デフォルトの名無しさん:2010/06/14(月) 21:57:19
rooooooo--
203デフォルトの名無しさん:2010/06/15(火) 01:03:12
るー ∩(・ω・)∩
204デフォルトの名無しさん:2010/06/15(火) 01:05:25
(・ω・) < うーは黙ってろ
205デフォルトの名無しさん:2010/06/15(火) 11:24:14
Slim3は名称のインパクトで
るー ∩(・ω・)∩に抜かれたなw
206デフォルトの名無しさん:2010/06/22(火) 12:22:02
まじめにIDEどこいっちゃったのよ
207デフォルトの名無しさん:2010/06/23(水) 21:46:49
STS使ってろ
208デフォルトの名無しさん:2010/06/24(木) 00:51:39
国内で使われているのかと不安になる過疎っぷり。
209デフォルトの名無しさん:2010/06/24(木) 12:41:55
>207
やだ。
えくりぷすぷらぐいんじゃなきゃやだ。
なんで独自IDEなんかにしてプラグイン単体提供やめたの?馬鹿なの?
210デフォルトの名無しさん:2010/06/24(木) 16:18:32
真の意味でSpringIDEになったのだ
211デフォルトの名無しさん:2010/06/26(土) 22:38:58
212デフォルトの名無しさん:2010/07/04(日) 08:47:46
WEBアプリで、Bean に ServletContext を DI するにはどうすればよいのでしょう?

そんなものをDIするのは間違ってる?
213デフォルトの名無しさん:2010/07/04(日) 15:59:34
なんでする必要があんの?
214デフォルトの名無しさん:2010/07/04(日) 17:13:49
やりたいのは、ServletContext.getRealPath() で得られるパスを Bean に教えてあげたいってことなんす。
215デフォルトの名無しさん:2010/07/04(日) 17:59:43
org.springframework.web.context.ServletContextAwareをimplements
216デフォルトの名無しさん:2010/07/05(月) 05:22:28
感謝!解決しますたー
217名無しさん@そうだ選挙に行こう:2010/07/11(日) 16:37:20
引数で渡せなかったのか?
218デフォルトの名無しさん:2010/08/01(日) 20:01:51
springってバージョン何が一般的に使われていますか?
あと、プレゼンテーション層はSpring MVCがよく使われますか?
219デフォルトの名無しさん:2010/08/01(日) 20:29:20
Spring MVC はウンコ

とだけ申し上げたい。
220デフォルトの名無しさん:2010/08/01(日) 20:29:47
るー ∩(・ω・)∩
221デフォルトの名無しさん:2010/08/01(日) 23:36:20
MVC運子なのか。
やっぱstruts2ですかね。

Rooは、aspect専用のファイルが作られるのが、
なんか好きになれない。。
222デフォルトの名無しさん:2010/08/01(日) 23:52:47
あそこまでAspectJ使われると採用しにくいよね・・・
223デフォルトの名無しさん:2010/08/02(月) 17:15:03
てす
224デフォルトの名無しさん:2010/08/25(水) 15:46:32
google app engineでspring-wsって動く?
225デフォルトの名無しさん:2010/08/25(水) 19:44:59
yes
226デフォルトの名無しさん:2010/08/28(土) 23:05:37
@Transactionalでトランザクション管理するときに、RDB内に置かない外部のリソースも
含めてトランザクション管理することは可能?
例えば、ユーザにファイルをうpさせた時に、メタデータはRDBに置いてファイル自体は
ファイルシステムに格納するとして、両者を一単位としてトランザクションを設定したいんだけど。
227デフォルトの名無しさん:2010/08/29(日) 00:16:14
XAに対応したトランザクショナルなファイルシステムがあれば可能
聞いたことないけど
228デフォルトの名無しさん:2010/08/29(日) 00:42:31
>>227
orz

なんか、SpringのTransactionManagerがrollbackを呼び出す時に、
それをフックしたりできないもんだろうか。
要するに、カスタムのトランザクションを定義できないかということなんだけど。
229デフォルトの名無しさん:2010/08/29(日) 01:13:57
>>228
その程度でいいならTransactionSynchronizationの実装クラスを作ればおk
230デフォルトの名無しさん:2010/08/29(日) 01:23:23
>>229
なるほど、調べてみる。サンクス。
231デフォルトの名無しさん:2010/10/21(木) 13:43:30
多少スレ違いかも知れないが、ネタふりにならないネタふり。

Apache、JSR 299とJSR 300のオープン実装「OpenWebBeans」正式版をリリース
http://sourceforge.jp/magazine/10/10/21/0412230

WebBeans って JBoss が推進していたやつだよね?
こんなのがいまさら出てきたところで、結局は DI は Spring を使うような気がする。

というか Java での開発自身が、ほとんど話題にならないような。
232デフォルトの名無しさん:2010/11/07(日) 01:23:47
JSR自体がほとんど有名無実化してるしなぁ。
233デフォルトの名無しさん:2010/12/07(火) 23:11:56
DIとか依存性とかそういうことちゃんと理解できてる人が少ないよね
そもそもテストクラスをかかずに動かしてみてテストするレベルのテストしか
実施しないようなところだと、たいした恩恵ないもんね(´・ω・`)
234デフォルトの名無しさん:2010/12/08(水) 12:54:13
>>233
ん?お前が理解してなくね?
235MINTIA:2010/12/12(日) 03:33:36
Spring3 日本語ドキュメント、もしくは日本語の書籍キボンヌ。。
236デフォルトの名無しさん:2010/12/13(月) 21:28:31
お前が書いてもいいのよ?
237デフォルトの名無しさん:2010/12/13(月) 21:32:45
じゃあ、俺が。
238デフォルトの名無しさん:2010/12/13(月) 23:34:36
どうぞどうぞ
239MINTIA:2010/12/15(水) 15:50:42
おとなしくS2使うことにしますた。
240デフォルトの名無しさん:2010/12/19(日) 14:33:49
選べる立場に居てS2選ぶやつはいねーよ
241デフォルトの名無しさん:2010/12/19(日) 18:27:59
>>240
どういういみ?
Springよりも、断然S2じゃないの?
242デフォルトの名無しさん:2010/12/19(日) 18:34:42
そんなやつこのスレにはいねーよ
243デフォルトの名無しさん:2010/12/19(日) 20:26:10
Springってバージョンなにがおすすめ?

あと、プレゼンテーションは何を使えばいい?

ほんで、DB層は名に使えばいい?
244デフォルトの名無しさん:2010/12/19(日) 21:58:40
バージョンはよほどの理由がない限り最新版がお勧め。

プレゼンテーション層は俺なら SpirngMVC + Velocity にするけど
Struts + JSP でも別にかまわん。

DAO層はJDBC抽象が強力なので俺なら自前のヘルパーと組み合わせるが
HibernateでもiBATISでもより要件に合うものを選べばい良い。

Springはただの糊だから使いたいものを組み合わせたらいい。
6年前から一貫してそういう姿勢だ。
Kuina押して捨てられたりTeeda捨てて無かったことにされたり
そういう心配はする必要がない。
その代わり部品選択した責任はお前が持て。
245デフォルトの名無しさん:2010/12/19(日) 22:11:49
Spring + Struts2 + iBatis がクソみたいに楽だったぞ。
246デフォルトの名無しさん:2010/12/20(月) 22:46:17
>>244
どうりで日本じゃSeasarの方が人気あるわけだ
247デフォルトの名無しさん:2010/12/21(火) 01:08:11
まぁ実際Seasarなんて使わないけどね。
248デフォルトの名無しさん:2010/12/21(火) 11:10:42
他を落とすしか自分がいいと思ってる物を持ち上げられない奴って多くなったよね、ここ数年
249デフォルトの名無しさん:2011/01/04(火) 01:03:33
分散トランザクション使ったことないんですけど
以下の1ではなく2の状況が使われる理由に多い、で合ってますか?

1.複数のデータベースサーバーにコミットするとき。
2.DBは1だとしてもトランザクションのセーブとロールバックが複雑になるとき。
250デフォルトの名無しさん:2011/01/04(火) 02:07:43
2は分散じゃない
251デフォルトの名無しさん:2011/01/04(火) 02:45:09
じゃあ「REQUIRES_NEW」とか「NOT_SUPPORTED」の属性で
トランザクションを区切るのは、データベース鯖が1つのときだと
恩恵がないですか?
252デフォルトの名無しさん:2011/01/04(火) 10:03:14
分散トランザクションと宣言的トランザクションは別物じゃヴォケ
253デフォルトの名無しさん:2011/01/04(火) 11:39:34
宣言的トランザクションていうのか

JTAの解説で2フェーズコミットと一緒に紹介されてるから勘違いしてたよ
さんくす
254デフォルトの名無しさん:2011/01/04(火) 21:04:00
Springって宣言的トランザクションできるの?
255デフォルトの名無しさん:2011/01/04(火) 22:20:41
こんなスレ見る前にドキュメント見ろよw
256OSGi > start 1:2011/01/16(日) 22:37:20
OSGiについて語るスレです。OSGiサービスプラットフォームとは、Java言語に
基づいたオープンなソフトウエア部品化技術です。

標準化団体
OSGi Alliance - http://www.osgi.org/

OSGiフレームワークの実装
Apache Felix - http://felix.apache.org/
Eclipse Equinox - http://www.eclipse.org/equinox/
Knoplerfish - http://www.knopflerfish.org/
Spring Dynamic Modules for OSGi - http://www.springsource.org/osgi
Concierge - http://concierge.sourceforge.net/
Oscar - http://forge.ow2.org/projects/oscar/
257デフォルトの名無しさん:2011/01/16(日) 22:44:24
すみません誤射しました
258デフォルトの名無しさん:2011/01/21(金) 22:24:26
Local変数のDIって需要あるのかな

Local変数のアノテーションに何とかさわれそうなんだけど
使い道あるかなと思って
259デフォルトの名無しさん:2011/01/22(土) 10:38:11
メソッドの引数で渡さずに外部からローカル変数に値をセットしたいってこと?
260デフォルトの名無しさん:2011/01/22(土) 15:06:27
そう
261デフォルトの名無しさん:2011/01/22(土) 15:41:14
ローカル変数のアノテーションに触れてもローカル変数自体に触れなくね?
262デフォルトの名無しさん:2011/01/22(土) 19:16:34
asmとかjavassistでメソッドをクラスに書き換えるようなことをして
ローカル変数をフィールド扱いしちゃえばできそうじゃない?
263デフォルトの名無しさん:2011/01/22(土) 20:29:43
黒魔術だな。俺は好かん
264デフォルトの名無しさん:2011/01/22(土) 23:46:45
ローカル変数にDIして何かいいことある?
265デフォルトの名無しさん:2011/01/23(日) 00:03:42
ないよ
266デフォルトの名無しさん:2011/01/23(日) 12:45:37
だよねー
267デフォルトの名無しさん:2011/01/23(日) 13:08:08
肯定しても否定しても
その理由がないものは
見てみぬふりをするからよろしく
268デフォルトの名無しさん:2011/01/23(日) 16:27:16
そもそも>>258が目的もなく「アノテーションにさわれるから」という手段から思いついた程度の話だからなあ
まぁこんなとこでつべこべ書いてないでさっさと実装して公開しろってこった
いいものなら使われるしくだらなければ見向きもされないだけのこと
269デフォルトの名無しさん:2011/01/26(水) 01:32:19
>>264
ローカル変数ではないけど、そのクラスしか使わないような
プロパティファイルに定義するようなことを、Spring の XML にしてDI してみたことはある。

ShouhizeiCalculator {
 public void setShouhizei(Integer tax) {
  ・・・・
 }

んで、XML にみたいな感じで。

<bean id="shouhizeiCalculator" class="jp......ShouhizeiCalculator">
 <property name="shouhiZei" value="3">
</bean>

まぁいちおう設定値を外出ししているけど、実際には <util:properties> 使って
結局プロパティファイルに外出ししちゃうかな。
270デフォルトの名無しさん:2011/01/27(木) 15:58:54
DIはFactoryの一種にすぎん
271デフォルトの名無しさん:2011/01/28(金) 01:44:30
foreachはループの一種にすぎん
272デフォルトの名無しさん:2011/01/28(金) 02:30:28
>>271
それじゃ>>270のわかってなさ加減が再現できとらん
273デフォルトの名無しさん:2011/01/28(金) 21:51:52
じゃあお前が説明しろよ
274デフォルトの名無しさん:2011/01/30(日) 06:44:29
俺はFactoryの統合と透過ぐらいにしか考えていないな
275デフォルトの名無しさん:2011/01/30(日) 10:07:45
内部フィールドにあらかじめ値がセットされた状態のオブジェクトをポコポコ作ってくれるという意味かな
276デフォルトの名無しさん:2011/01/30(日) 22:05:21
Factoryクラスが乱立しない、
Factory、Singleton、Builderなどを意識させない、
あとは嫌なJNDIの臭みを消す……みたいな?

Guiceを触って遊んだぐらいだけどこんな感想。
277デフォルトの名無しさん:2011/02/08(火) 16:09:21
@Autowired
void hoge(DataSource ds, User user...)

引数にDIしてくれるらしいんだけど、
このメソッドはどうやって呼び出せばいいの?
278デフォルトの名無しさん:2011/02/08(火) 22:15:49
SpringってまだXML地獄?
279デフォルトの名無しさん:2011/02/08(火) 22:26:53
オマエいつの時代の人だよ。
280デフォルトの名無しさん:2011/02/08(火) 22:38:02
まじか今アノテーションでやるの?

みんなSpringってどこで情報仕入れているの?
281デフォルトの名無しさん:2011/02/08(火) 23:22:22
282デフォルトの名無しさん:2011/02/09(水) 06:08:03
英語ドキュメント読め
283デフォルトの名無しさん:2011/02/10(木) 18:24:53
おれはアノテーションでコードがごてごてになるほうがいやなんだけど、
こういうのって少数派なの?
284デフォルトの名無しさん:2011/02/10(木) 19:26:11
一律になんでもアノテーションだから良い悪いって言うなよ。
用途によっても違うし、アノテーションシンドロームと宣言指向プログラミングは別に語るものだと思うけど。
285デフォルトの名無しさん:2011/02/10(木) 22:23:33
>>283
アノテーションは基本的に関数の頭につけるだけだから
コードがごてごてになることはない。
意味のあるコメントと思えばいい。

そういう感想を抱くということは、
お前はアノテーションをわかってないか、
お前の書くコードに問題がある。
286デフォルトの名無しさん:2011/02/18(金) 05:50:42
spring roo 重そう
287デフォルトの名無しさん:2011/02/18(金) 08:42:11
重くないよ。つーか日本語のドキュメントでも3分も読めばそんなレスしないと思うが。
288デフォルトの名無しさん:2011/02/20(日) 14:16:06.63
>>286
何だと思ってるんだよw
289デフォルトの名無しさん:2011/02/21(月) 03:04:31.29
IDEが重いって意味じゃない?

Railsが人気の理由ってソースや各種設定ファイルのジェネレータだと
思うけどrooはどうなるかな
290デフォルトの名無しさん:2011/02/21(月) 22:10:47.08
そんな原始的なものに頼らない・・・・つーかそれもドキュメントを3分でも(ry
291デフォルトの名無しさん:2011/02/23(水) 19:14:39.49
>>283
XML地獄がいいなんてのは確実に少数派だろ。

個人的には変なDIかける為にXML地獄に落ちたり、
アノテーションの山になって記載ミス起こす位ならもうファクトリーでいいじゃんって気もしてるがw
292デフォルトの名無しさん:2011/03/06(日) 14:08:39.81
アノテーション地獄や規約地獄に落ちるくらいなら
XML読むだけで済むならそっちの方がいい。
293デフォルトの名無しさん:2011/03/06(日) 17:13:02.36
DIで良かったってケースを、誰か教えてくれ。
294デフォルトの名無しさん:2011/03/06(日) 17:30:04.37
ユニットテストコードが書きやすくなったくらいかな
295デフォルトの名無しさん:2011/03/06(日) 17:51:48.21
あまりユニットテストが書きやすくなったような気がしない。
1つのメソッドをテストするだけでも数百あるクラスが結合されるからテスト効率が異様に悪い。
関係ないクラスで DI エラー起こすとテストできない。なぜ POJO なのに他クラスが影響するのか。
しかも JUnit なりの上にフレームワークまるごと乗せないとテスト起動すらできないし。

というか Spring の使い方が誤ってるって話だけど。
296デフォルトの名無しさん:2011/03/06(日) 19:00:52.31
まさかmockを作らずにユニットテストしてるんじゃないよね?
297デフォルトの名無しさん:2011/03/06(日) 20:37:06.40
interface 定義して仕様と実装を意識した記述が出来て
見通しがすっきりするのが一番の効能な気がする。

ので、実装クラスそのまま呼べます、素敵!
みたいなのを売りにしてる DI コンテナは
なんか間違ってる気がして好きになれない。
そういう事が出来てもいいけど、それを売りにされるとなんか違う。
だったら LL でいいじゃんと思う。
298デフォルトの名無しさん:2011/03/06(日) 21:01:12.90
> 実装クラスそのまま呼べます、素敵!

EJB3.1のことか
299デフォルトの名無しさん:2011/03/06(日) 21:29:53.28
>>296
理由は大きく3つ。総じてうちのプロジェクトが馬鹿だという話だけど。

1.コンポーネントの粒度が細かすぎる。曰く 「new が無いほうが良い」 らしい。
2.大量のモックを作らねばならず、モック自体の品質が問われた結果、モックの作成が禁止された。
3.設定も併せてテストするという方針(笑)により、設定ファイルの切り替えが認められなかった。
300デフォルトの名無しさん:2011/03/06(日) 21:36:05.05
Oh...
301デフォルトの名無しさん:2011/03/06(日) 22:04:26.35
>>299
それはもうSpring止めた方が断然まともに開発できる気がするぞw
FW導入する際に、何の為に使うのかをまず意識合わせしないとな・・・
302299:2011/03/06(日) 22:42:22.83
>>301
まあそれ以前に、java に触ったことがない奴が全体の2割くらい居たんだけどね。
ほんと SIer は地獄だぜ。
303デフォルトの名無しさん:2011/03/07(月) 06:43:35.89
それはひどい地獄だな
304デフォルトの名無しさん:2011/03/07(月) 08:10:58.13
なんでもかんでもDIで注入しようとしちゃったんだね・・・
305デフォルトの名無しさん:2011/03/07(月) 13:09:02.58
>>299, 304
そんな糞な設計をする会社と言うと、、、、、、おっと、○×△を馬鹿にするのはそれまでだ。
306デフォルトの名無しさん:2011/03/07(月) 14:39:02.26
ドドスコスコスコDI注入
307デフォルトの名無しさん:2011/03/07(月) 15:06:48.86
ダメ・インジェクション?
308デフォルトの名無しさん:2011/03/15(火) 16:33:04.11
注入する上司の実装を切り替えてください
309デフォルトの名無しさん:2011/03/15(火) 21:09:06.30
インターフェースごと替えた方がいいです。
310デフォルトの名無しさん:2011/03/19(土) 14:02:58.74
特別損益が注入されました
ストラテジー・社員パージです
311デフォルトの名無しさん:2011/05/14(土) 11:10:26.85
List内のオブジェクトをそれぞれ入力チェックしたいんだけど、
Spring3のSpringMVCって、StrutsのindexedListPropertyみたいな機能ある?
312311:2011/05/14(土) 13:59:37.53
Bean Validationの機能でいけそうなんでちょっとやってみる
313デフォルトの名無しさん:2011/06/19(日) 22:00:56.66
"ORM が危険なアンチパターンだっていうのはどれだけ言っても言い過ぎることはない"
http://tech.a-listers.jp/2011/06/16/orm_is_an_antipattern/

・ORMはSQLベースのモデルよりも最初のうちはシンプルで理解しやすく、手早く書く事ができる。
・効率はどんなプロジェクトでも最初の頃は十分。
・不幸にもそれらのアドバンテージはプロジェクトが大きく複雑になると消失し、
 抽象化は破綻し、開発者はSQLを使わなければならなくなる。
・ORMの抽象化はほぼ100%のプロジェクトで破綻する。
・オブジェクトはリレーショナルなクエリの結果を表現するのには不適切。
・不適切にクエリをオブジェクトにマッピングすることによって、ORMを廃止しない限り
 簡単には修正できない非効率性がアプリケーションのあちこちにばらまかれる
・オブジェクト指向設計はリレーショナルなデータを効率的に表現できない。
 これはORMが解決できないオブジェクト指向デザインの根本的な制限だ。
314デフォルトの名無しさん:2011/09/24(土) 12:02:17.76
プロジェクトの規模がデカイ場合
全員にSQLまで書ける権限あたえると100%破綻する法則

というわけでウチの場合はDBに直接触るコーディングを書く権限(?)は
1〜3人に制限しとる
315デフォルトの名無しさん:2011/09/26(月) 22:50:42.60
えええ、これってほんとか?
http://kumagonjp2.blog.fc2.com/blog-entry-3.html
316デフォルトの名無しさん:2011/09/30(金) 01:40:47.12
Spring Frameworkのソースってどこ? ここにはコアのコードらしき
ものは見当たらないのだが。

https://github.com/SpringSource
317デフォルトの名無しさん:2011/10/01(土) 00:22:26.61
リリースされてるzipの中にソースのjarがあるよ
318316:2011/10/01(土) 05:23:06.94
>>317
あ、あった。 ありがとうございます。
319デフォルトの名無しさん:2011/10/01(土) 17:27:38.75
みんな画面はなに使ってる?
SpringMVC?
320デフォルトの名無しさん:2011/10/01(土) 17:34:56.02
SpringMVCは画面ないだろw
321デフォルトの名無しさん:2011/10/02(日) 19:30:16.11
プレゼンテーション層ですよー
strutsが無難なの?
322デフォルトの名無しさん:2011/10/02(日) 22:20:17.43
下手な釣り・・・
323デフォルトの名無しさん:2011/10/03(月) 17:24:57.46
spring securityって使ってる?
324デフォルトの名無しさん:2011/10/05(水) 21:40:17.20
Formから送られてきたデータに対して
ValidatorやConvertorを用いるのは
MVCのMであるべきですよね?
325デフォルトの名無しさん:2011/10/06(木) 22:58:16.21
>>324
Mにも色々あるしMに持たすのはどうかと思うよ
326デフォルトの名無しさん:2011/10/07(金) 20:55:32.38
>>325
Controllerはvalidationもページ遷移もしないほうがいいと思うんです。

ユニットテストのモックが作りづらいHttpServletRequestなどの無害化
(必要なデータをValueObjectに詰め直すとか)だけに留めないと
条件分岐とかが入ってきて、簡単なロジックなら一緒に書いてしまいたく
なりますし・・・。
327デフォルトの名無しさん:2011/10/08(土) 09:52:59.79
>>326
ページ遷移、というかURLについての詳細をコントローラに書くと
折角RequestMappingやらControllerClassNameHandlerMappingで
コントローラから実URLへの依存を薄くしたのが意味なくなるわな

ってもそうしたら、LocationヘッダーとかでURLをふっとばす時に
どこで管理するか微妙になるけど…


最近の悩みControllerClassNameHandlerMappingがうまくいかないので
@RequestMapping(ほんじゃら)を@Targetといっしょに宣言しとる

ControllerClassNameHandlerMappingとか@RequestMapping("/hoge")で
うまくコントローラのメソッドが呼び出せない場合ってトレースできる手段ないかしらん…
328デフォルトの名無しさん:2011/10/08(土) 10:11:21.18
ついでにEclipseを使ってSpringMVC3.0のプロジェクトを作ったときの参考URL
ttp://www.myhomepageindia.com/index.php/2009/12/29/spring-mvc-3-0-tutorial.html

どうでもいいけどjar地獄だな、Marvenとm2eの勉強する時間ないけど…
329デフォルトの名無しさん:2011/10/08(土) 10:41:55.52
Mavenのjar地獄を見てるとかつてのXML地獄を思い出す
330デフォルトの名無しさん:2011/10/09(日) 10:59:15.27
>>329
Cプログラムのライブリラ依存地獄と比べればまだ進化してるんじゃないかと

依存関係jarをMavenで取得するより
自分で探してきてつっこんだほうがはやいのはなぜか…
331デフォルトの名無しさん:2011/10/10(月) 01:09:26.37
>>328
Spring 2.5 を触った後はSpringから離れていたんだけど、
SpringMVC 3.0 というのは、Spring 3.0 と同時に使うの?

Spring 3.0 になって Roo とか出てきて、
なんかごてごてして興味なくなってしまったんだけど(Spring 2.5 ぐらいでちょうどよかった)
Spring MVC 3.0 は、Spring 2.5 についてきた Spring MVCとどこか違うのでしょうか?
332デフォルトの名無しさん:2011/10/10(月) 02:13:59.69
ググレカス
333デフォルトの名無しさん:2011/10/10(月) 11:17:39.77
>>331
2.5の知識があれば普通に3.0のmvcも動くので大してかわってない としか答えようがない
ただパッケージ構成がかわってるから、まんまじゃ動かないとかそんくらいか

>>328は3.0版だが
同じとこにの2.x版もあるので比べてみたら
334デフォルトの名無しさん:2011/10/10(月) 11:19:05.84
ついでに、SpringMVC使うより
Sease+Strutsのほうが枯れててラク、日本語の情報もたくさん、あと安い技術者集めやすい
335デフォルトの名無しさん:2011/10/11(火) 12:54:27.59
seaser3頓挫で終了
336デフォルトの名無しさん:2011/10/12(水) 01:58:37.59
>>335
企業ユースだと今が旬だったりするらしい

増員のために経歴書集めてる営業さんにみしてもらったら
ここ1,2年でSeasar2経験書いてるひとが大半。 …イチから環境構築できるのは一握りらしいけど

話はかわるが、SpringMVC+Hibernateで
hibernate.cfg.xmlを無くしてhoge-servlet.xmlに一本化するサンプルどっかにないもんかね

色々ためしてるんだが
org.springframework.orm.hibernate3.LocalSessionFactoryBean
のbean定義のとこでマッピングがうまくいかんですたい。
337デフォルトの名無しさん:2011/10/17(月) 20:28:25.26


> ここ1,2年でSeasar2経験書いてるひとが大半。 


そういう奴等は
案件にPGとして関わって、ただ決められたルールで使える
程度の奴等だろ

338デフォルトの名無しさん:2011/10/18(火) 12:15:11.83
確かにSpringとかSeasarは
利用経験のみなのか構築経験アリなのかで大きくちがうな

前者の特徴は「前のとこならこうできたのに…」と文句ばかりで五月蝿いが
じゃあその設定よろしく、というと「わかりません」とか「気のせいだった」とか

あとSpringでアノテーション使いまくるとエラー出たときに原因がわからづれ
特に@RunWith(SpringJUnit4ClassRunner.class)
StackOverFlowみたいな英サイトに全く同じエラー文言なのに解決法が全く違うとか多すぎてわろた

おまけ: StackOverFlowの大半が親切すきて
日本人て駄目部族だなぁとおもた。(俺も含む)
339デフォルトの名無しさん:2011/10/18(火) 14:08:37.89
Stack over flowのコード貼り付け機能は便利だね
てよりSpringにぴったりだ

エラーコード全部とJavaコードとXMLがないと診断できん
340デフォルトの名無しさん:2011/10/18(火) 14:11:41.53
> あとSpringでアノテーション使いまくるとエラー出たときに原因がわからづれ
> 特に@RunWith(SpringJUnit4ClassRunner.class)
> StackOverFlowみたいな英サイトに全く同じエラー文言なのに解決法が全く違うとか多すぎてわろた

それって
お前がspringのコアの挙動を理解してないだけだろw

アノテーション情報から、どのように依存関係やaopが実現されるか
コードベースでで理解が出来てれば
原因究明なんて一瞬だろ


おまえも「利用経験のみ」の奴と変わらんよw
「設定ファイルを使ったことがあります、キリッ」って面接で言うんだろ?w
341デフォルトの名無しさん:2011/10/18(火) 14:29:04.02
>>340
本気でいってるならヤバいな
そんなんなら本家のコミュニティとかでコード貼り付け祭りになってる理由を教えてくれ

ていうかエラーしか張らない奴がいると "全部張れ" が常套句になってるのがワロス
342デフォルトの名無しさん:2011/10/18(火) 14:48:27.65
神が光臨してるようなので質問させてください
application.xmlにannotation-drivenを追加したらエラーが出たんですが
(そのままコメントアウトするとトランザクションが働かないけど普通に動きます)
>>340さんなら原因わかりますよね
343デフォルトの名無しさん:2011/10/18(火) 14:51:56.70
雑魚ばかりだなw
もうちょっとレベル高いのいないのか?

ひょっとしてxmlにファイル追加するしか出来ない雑魚ばかりですか?w
344デフォルトの名無しさん:2011/10/18(火) 14:55:25.00
わからないのかw
345デフォルトの名無しさん:2011/10/18(火) 14:56:17.97
>>342
『設定ファイルを記述間違えたらエラーが出るんですけど・・・><』

って質問メール送ってごらんww
初心者クンw
346デフォルトの名無しさん:2011/10/18(火) 14:59:40.15
どこに送らせる気だよw
347デフォルトの名無しさん:2011/10/18(火) 15:08:35.95
つーか自分でフレームワークの設計ぐらいしたことない雑魚ばかりなの?w
エラーで嵌ってる奴って雑魚以外いないんだけどw

仮に、設計者自身が設定ファイルのエラーで嵌ると思うか?w

お前のレベルが低いだけだと気づけよカス
348デフォルトの名無しさん:2011/10/18(火) 15:09:06.84
>>340
3.0ベースで後でリファレンスに使えるような本のオススメあったらおしえて
英書でもいいよん
349デフォルトの名無しさん:2011/10/18(火) 18:02:20.58
>>348
普通にAPI見て開発できないレベルなら
触らないほうが良いぞw


それか単なる案件の土方PGなら、技術系リーダーに教えてもらえ
350デフォルトの名無しさん:2011/10/18(火) 18:52:52.51
APIって↓のJavadocことだと思うけど
ttp://static.springsource.org/spring/docs/3.0.6.RELEASE/javadoc-api/
これ以外なにも見ずに開発ってすげぇな

>>349神(もう神とよばせてくれ)は
2系から3系に変わったときもAPIだけ全ての違いが把握できちゃうレベルなの?

あとついでに
ttp://stackoverflow.com/
に迷える子羊がたくさんいるから救ってあげてくれ、あんたなら一質問に10秒もかからんだろ
351デフォルトの名無しさん:2011/10/18(火) 18:59:31.43
Seasarだろうがspring だろうが本質は同じ
コードを解析すれば
コンポーネント管理の実態がわかる

後は仕様の要求に合わせて設定ファイルと利用クラスを実装するだけ
簡単な話だ

本を買わないとわからないようなレベルの時点で技術者としては終わっている
少なくとも客先に提案出来るようなクラスじゃないことは間違いない

つまり、ただの土方PGってコトだなw
352デフォルトの名無しさん:2011/10/18(火) 19:07:24.25
神はアノテーション派? それともXML派?
353デフォルトの名無しさん:2011/10/18(火) 19:27:56.18
             / ̄ ̄ ヽ,
            /        ',       /    _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \          /
     \ / く l   ヽ._.ノ   ', ゝ \       <本当に1ミリも操作できねぇ>
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
354デフォルトの名無しさん:2011/10/18(火) 19:38:11.76
いーじゃん。解説書は理解速めるのに役に立つよー。
355デフォルトの名無しさん:2011/10/18(火) 19:38:15.39
>>352
> アノテーション派

クラスファイルに設定を記述すると
設定が各クラスに散在することになる
後々、PJ全体の定義が把握しにくくなる
356デフォルトの名無しさん:2011/10/18(火) 19:55:28.56
ものによりけりだけど
@Transactional は便利じゃね?
357デフォルトの名無しさん:2011/10/18(火) 21:01:50.92
なんでも一律にXMLかアノテーションでやると思っている馬鹿なんているの?
用途によって使い分けなのが当たり前でしょ。
358デフォルトの名無しさん:2011/10/18(火) 21:22:24.28
ここは底辺の集まりのようだなw
初歩的なエラーで延々と悩んでる雑魚や
定義を何処に書くかで揉めてるアリのような虫けらとか
PG世界の底辺を垣間見たようだわw
359デフォルトの名無しさん:2011/10/18(火) 21:57:14.77
360デフォルトの名無しさん:2011/10/18(火) 23:26:24.93
誰でも使えるように設計されたspring フレームワーク
それの設定ファイルが使えたからって喜んでる馬鹿って何なの?
当たり前だってw

つーか、ここの連中って
自分でDIコンテナ程度は組めるんだろうな?
spring を評価するんなら最低レベルのスキルだぞ
361デフォルトの名無しさん:2011/10/18(火) 23:32:05.17
自分でDIコンテナの設計ぐらいできないと
spring や他のDIコンテナの評価する資格すらない

草野球のオッサンが、イチローの評価してるようなモンだ
362デフォルトの名無しさん:2011/10/19(水) 01:05:48.99
Sunに就職してJava8にクロージャーいれてきてくれ、神
363デフォルトの名無しさん:2011/10/19(水) 01:08:33.90
そういやSunもうないか…
じゃOracleで、ついでにDBも新しいのつくってきてくれ11gが使いずらくて10から移行できん
364デフォルトの名無しさん:2011/10/19(水) 08:32:23.96
>>357
アホ
365デフォルトの名無しさん:2011/10/20(木) 19:36:39.03
なんだ自分のことか
366デフォルトの名無しさん:2011/10/21(金) 05:52:43.97
3.0.6の@Transactionalがうまくいかねぇ
って英語サイト漁ってたら3.1系(まだRCだけど)入れろとか書かれてたんだが
そんなんで動くんだろうか…

自分はチキンなのでバージョンを落とした…
367デフォルトの名無しさん:2011/10/21(金) 09:34:59.78
>>366
お前、先週あたりから
ずっと悩んでるなw

「@Transactionalがぁ」って何千回言ったら気が済むんだ?w

一生悩んどけw
368デフォルトの名無しさん:2011/10/21(金) 09:36:09.60
>>366
コードで追っかけることすら出来ない雑魚だな

問題解決能力の無い雑魚はいらん
369デフォルトの名無しさん:2011/10/21(金) 19:18:01.15
>>355
保守メンテが大変そうだ
370デフォルトの名無しさん:2011/10/22(土) 03:21:41.99
uyさん、名前入れ忘れてますよ。
371デフォルトの名無しさん:2011/10/23(日) 10:53:00.85
>>366
関係ライブラリが入ってないだけでは
cglibとAOP Allianceとか、あとなにか忘れた

bean定義のアノテーション「だけ」、の話なら
動的に参照するなり、debugレベルのログみるなりで把握できるから
xmlだけの利点にはならんような印象
372デフォルトの名無しさん:2011/10/23(日) 23:52:07.51
クロージャてそんな必要か?
373デフォルトの名無しさん:2011/10/24(月) 00:38:18.04
ラムダ、yield、パターンマッチ、ASTとかも、全部欲しいわ♪
374デフォルトの名無しさん:2011/10/24(月) 14:35:08.53
関数オブジェクトほしいな

無名クラスのコンストラクタでやると不細工だからさ
new Hoge() {
..{
....System.out.println("hello");
..}
};

こうしたいわ
new Hoge(){
..System.out.println("hello");
};

375デフォルトの名無しさん:2011/10/24(月) 22:55:45.99
つーか、昨今のjavaScriptブームみたいなもんで、
おもちゃにこだわり過ぎて本質的なこと
見落とすなよ。別にCOBOL or PL/Iでも
Systemは動くんだからな。別に流行に乗ったところで
儲かるのはひと握りだし。
376デフォルトの名無しさん:2011/10/24(月) 23:15:49.31
本質はFWにあるのではない
いかに実現させるかだ
377デフォルトの名無しさん:2011/10/24(月) 23:18:49.60
ロジックの記述に柔軟な表現力が得られれば、それが顧客のためにもなりますよ(・∀・)
まあ、枝葉の技術がどうのとかは百も承知の上で、あって困るものでも無いので欲しいのよ。
378デフォルトの名無しさん:2011/10/24(月) 23:22:12.22
フレームワーク導入すれば
柔軟に対応できると夢みてるようだが
実際はフレームワークの制約に縛られて
やりたいことが実現できないとかザラにある
379デフォルトの名無しさん:2011/10/24(月) 23:31:00.38
あれ?、フレームワークの話だったのか。
Javaに欲しい言語仕様の話かと思ってた。
めんごめんご(´3`)
380デフォルトの名無しさん:2011/10/24(月) 23:44:34.50
ヒント:スレタイ
381デフォルトの名無しさん:2011/10/25(火) 01:26:09.39
>>350
リファレンスが良く出来てるんでだまされたと思って読まれてみてはどうかと。
API の Javadoc が(特に interface は)丁寧に書いてあるので、それで補完。
あとは困った語句でググれば大抵どうにかなると思います。
Spring 自体は 1.1 の時代にコアの考えはもう完成しちゃってるんで、
多少古い文献でもそうそうズレはないと言う感じ。
(昔から使ってるからそう思うだけかも知れない。)

久しぶりに Spring のサブプロダクトのリファレンス見て、
当たり前のように interface が記述してあって
ブレねえなぁさすがspringブレねえと思った。
382デフォルトの名無しさん:2011/10/26(水) 01:01:21.64
最近のJava(FW)はstruts2、spring3、seasar2三巨頭で頭打ちな感じで
つまらんな。何かおもろいことないんかい? とりあえずカッサンドラとか
見てっけど、apacheもなんか2番煎じプロジェクトばっかだな。
383デフォルトの名無しさん:2011/10/29(土) 01:50:00.37
>>382
Web周りの話にのってみるが、Seasar+Strutsに比べると
Struts2, SpringMVCはあんま聞かないけど使われとるのだろうか

RubyでいうSinatraみたいな軽めのフレームワークはJavaだと流行らんのかしらん
384デフォルトの名無しさん:2011/10/29(土) 15:09:15.33
初歩でエラーです
385デフォルトの名無しさん:2011/10/29(土) 15:56:48.93
>>383
Strutsに失望した設計者が

SpringMVCこそ設計者の答えじゃないのか?
386デフォルトの名無しさん:2011/10/29(土) 16:31:29.51
Spring解析中
387デフォルトの名無しさん:2011/10/29(土) 22:10:48.26
>>383
日本ではほぼ皆無だが、seasar2はもう先が無いんだろ。
安定志向な劣等日本SIには丁度良いんだろうが。
あと俺は経験上、LLで大規模書くのは賛成せんな。
そこらじゅうに潜在リスクが残るし。

>>385
SpringMVCは1.0時代からあったが、とりあえずstruts系とは
まったく違う流れで嫌われてた印象あるし、3になっても
アノテを使わんかったらなんか生サブレ書いてる感じがする。
388デフォルトの名無しさん:2011/10/29(土) 22:46:45.88
SpringMVCって流行ってないの?
現場でよく見かける組み合わせは
Struts+spring+hibernateかな?
389デフォルトの名無しさん:2011/10/29(土) 23:57:28.57
spring複雑な構造だなぁ
390デフォルトの名無しさん:2011/10/30(日) 00:01:34.72
要員募集でチラ見した範囲内なら
ここ2年くらいはJavaでWebだともれなくStrutsだったな

客も上司もわからんうちに詰め込むぐらい強引にブチこんでも
今度は要員がそろわないという難行にブチあたる
391デフォルトの名無しさん:2011/10/30(日) 00:48:30.40
俺の経験した職場だと Hibernate は一回もない。
iBATIS 使った案件はあったが俺はアサインされなかったのでよう知らん。
SQL って十分に論理的で抽象化されてると思うんだけど
それを隠ぺいしなきゃいけないってどういう状態なの?
392デフォルトの名無しさん:2011/10/30(日) 01:03:44.24
>>391
根本的な所が間違っている。

SQLが面倒なのは取得したデータを
変数に詰め替える所
393デフォルトの名無しさん:2011/10/30(日) 01:10:25.88
>>392
それだけが問題なら凄く昔からあって終了してる
DBごとの独自部分が嫌だからSQLごと隠蔽ってんだろ
394デフォルトの名無しさん:2011/10/30(日) 02:17:19.93
SQL書くの面倒。
流れるように書きたいので、S2JDBC使う。
395デフォルトの名無しさん:2011/10/30(日) 02:36:01.15
「流れるように書きたいので」(藁
396デフォルトの名無しさん:2011/10/30(日) 02:36:19.81
あああのサブクエリもまともに書けないあれね
397デフォルトの名無しさん:2011/10/30(日) 09:44:43.39
流れるようなインターフェースは
実装コストにリターンが全く見合ってない、
時間の無駄の典型に思う。

自分では実装しなくて、実装されたものを使う時であっても。
398デフォルトの名無しさん:2011/10/30(日) 11:48:10.43
>>397
もうちょっと具体的に書けないか?
399デフォルトの名無しさん:2011/10/30(日) 11:49:26.99
>>393
SQL直書きが一番高速
これが一番ベストの選択だ
400デフォルトの名無しさん:2011/10/30(日) 11:56:31.37
だが、SQLではスケールできない。
サーバーを何台も使うシステムでは
JOINは嫌われる。
401デフォルトの名無しさん:2011/10/30(日) 13:21:39.34
rdbのrがなにか知っているの発言かい
つかMappingフレームワークのスレでやれw

Springは一応JPA押しなんだっけか
まあJdbcDaoSupportなんかもあるけど
402デフォルトの名無しさん:2011/10/30(日) 13:24:35.91
今はNoSQLが流行ってきてるからねぇ。

RDBはトランザクションのために使ってるけど、
最近はそれだけでいいのでは?って思う。
403デフォルトの名無しさん:2011/10/30(日) 13:31:15.22
Springって降るスタック?
404デフォルトの名無しさん:2011/10/30(日) 13:33:38.71
フルスタックとかやめてくれ。
今はPOJOの時代だ。

Springというフレームワークを使って作ると
Springに依存しないものが出来上がるのが
素晴らしいところなんだよ。
405デフォルトの名無しさん:2011/10/30(日) 13:37:35.64
>>403
根本のDIのとこ以外は他のモノを利用できるような設計になってるから
SpringFramework全体ではフルスタックではないのでは
406デフォルトの名無しさん:2011/10/30(日) 13:50:48.80
>>400
意味わからんw

テーブル結合の意味わかってるか?w
普通にSQLで取得した方が負荷もコストも良いのは歴然だ

それをDAOやらJPAやら変てこなFWで取得するから
メモリも余計食うし、FWが生成するSQLも効率が劇悪のパフォーマンス最悪のSQLを吐き出す
諸悪の根源だな
407デフォルトの名無しさん:2011/10/30(日) 14:07:03.17
>>406
テーブル結合をするには、
その二つのテーブルが同じサーバーにないと
いけないってのは分かる?
408デフォルトの名無しさん:2011/10/30(日) 14:24:25.67
>>407
えっと、普通フロントになるサーバをクラスタリングする場合
DBはバックエンド側にまわさないか?

どんなHW要件なのか詳しく知りたいぞそれw

>>406
貴公のDaoの定義がよくわからん
409デフォルトの名無しさん:2011/10/30(日) 14:27:18.95
SQLを直接使うなら
DAOは逆に必須だろう。
410デフォルトの名無しさん:2011/10/30(日) 14:37:19.17
>>409
必須ではないけど、まあ大抵テーブルごとのDaoにおちつくな

ただDaoってあくまで層分けのための範囲・概念だから
SpringのJdbcDaoSuppportみたいなSQLガリガリ実装もあれば
Hibernate実装のこともあるし
411デフォルトの名無しさん:2011/10/30(日) 14:40:53.54
層分けっていうか、ユニットテストのために
どうしてもそうするしか無いと思うよ。

前提としてユニットテストでは原則として
データベースサーバー無しで動かないといけない。

そうするとどうしてもデータベース部分を
切り離す必要が出てくるよね?
412デフォルトの名無しさん:2011/10/30(日) 15:04:26.86
>>410
DAOなんて、
大層な名前つけてるけど所詮ただの入れ物だよ
SQLで取得したものを何らかの入れ物に保持する必要があるために
入れ物のクラスを作ってやる
それをDAOと呼ぶだけ
何か特別な意味のあるものと錯覚してる奴が多すぎw
413デフォルトの名無しさん:2011/10/30(日) 15:08:51.14
>>407
クラスタリングされていても
普通に取得できるのはわかるか?
414デフォルトの名無しさん:2011/10/30(日) 15:10:49.70
>>412
いや、入れ物のクラスはVOとかDTOとかBeanだろw
415デフォルトの名無しさん:2011/10/30(日) 15:14:22.25
DAOは入れ物じゃなくて操作だろ。
416デフォルトの名無しさん:2011/10/30(日) 15:39:15.57
SpringFW使うときの、一般的なクラス構成は?
Actionとかあるの?
417デフォルトの名無しさん:2011/10/30(日) 16:03:32.83
るー ∩(・ω・)∩
418デフォルトの名無しさん:2011/10/30(日) 16:22:57.86
>>414
それは画面側の入れ物だろ
RDBの対象の入れ物はDAOだ
419デフォルトの名無しさん:2011/10/30(日) 16:24:24.02
別にDAOはRDB専用じゃないだろ。
RDBの対象のとか言ってる時点で
お前わかってないんじゃねって思うよ。
420デフォルトの名無しさん:2011/10/30(日) 16:26:07.04
所詮はDAOなんて
ただの入れ物に過ぎん
プログラムの都合上何かの入れ物に保持する必要があるから
便宜的に使ってるに過ぎん
421デフォルトの名無しさん:2011/10/30(日) 16:27:43.35
DAOが何の略か知っていれば、
データにアクセスするためのオブジェクトであって
データを保持するオブジェクトではないと分かるはずなんだが・・・
422デフォルトの名無しさん:2011/10/30(日) 16:28:37.73
だから、DAO は入れ物じゃねえ。
入れ物は VOやDTOだろ。
423デフォルトの名無しさん:2011/10/30(日) 16:33:23.43
名前なんてどうでもいいんだよ
ひとつのクラスで入れ物とアクセスを記述する例だってあるんだから
たかだかJDBCに接続してSQL発行する程度で定義の議論なんて馬鹿か
424デフォルトの名無しさん:2011/10/30(日) 16:36:25.61
>>423
DB層なんてやってることは単純だからね
425デフォルトの名無しさん:2011/10/30(日) 16:38:15.25
>>423
> ひとつのクラスで入れ物とアクセスを記述する例だってあるんだから

DAOは、アクセスするだけで入れものではないと
決まっているので、DAOの話をするのなら入れ物ではありません。
426デフォルトの名無しさん:2011/10/30(日) 16:39:41.38
>>424
当たり前だw

単純だが冗長な部分を分離するのがDAOの目的。
DAOが太ってしまったら、なんのために分離したのかわからん。

DB層が単純と言うよりも、DB層は意図的に単純にするんだよ。
427デフォルトの名無しさん:2011/10/30(日) 16:43:26.56
>>423
>ひとつのクラスで入れ物とアクセスを記述する例だってあるんだから
まあ、そういう例があろうがなかろうが・・・
一人きりで作ってて、他人に説明する必要が無いなら

>名前なんてどうでもいいんだよ
は、正しいけど・・・。
428デフォルトの名無しさん:2011/10/30(日) 16:51:01.83
おそらく学生か何かだろ
429デフォルトの名無しさん:2011/10/30(日) 16:51:52.68
>>426
DB層なんて、エンティティとアクセスクラス作って終わり
それだけの話なのに
こんなに単純な構造で何をウダウダいう必要があるんだ?w
雑魚ほど吼えるなw
430デフォルトの名無しさん:2011/10/30(日) 16:56:09.72
ほとんどが素人に毛が生えた程度なんでしょう
だからくだらない議論を延々と続けてる
431デフォルトの名無しさん:2011/10/30(日) 16:57:57.98
>>429
全角アルファベット使っている奴=全部同一人物が

ごちゃごちゃいっているからじゃねーの?w
432デフォルトの名無しさん:2011/10/30(日) 17:11:42.73
>>431
お前の妄想だよカス
433デフォルトの名無しさん:2011/10/30(日) 17:12:53.24
>>430
こんな掃き溜めスレに来る奴に上級がいるとでも思うか?w
>>426  みたいな底辺ばっかりだよw
434デフォルトの名無しさん:2011/10/30(日) 17:15:01.72
たぶん >>408>>413 は、 >>407(= >>400?) の真意がわかっていない。

mixi、モバゲーなどの、超大規模 web 2.0 系では、MySQL を数百台並べるけど、
ああいったところは、たとえば日記テーブルとユーザマスタテーブルを別DBサーバにしちゃうんだよ。
(日記DBと、ユーザマスタDBのなかで、さらにクラスタリングする)

だから SQL で join できない。プログラムから、それぞれの DB 用のコネクションを取得して、
それぞれを単発のSQLで実行して取得する。

だから業務系 Java のよくできたフレームワークを使ったソースと比べると、
重複も多いしみにくいけど、彼らはパフォーマンス至上主義であり、これまでの試行錯誤の結果だからしょうがない。

DeNA、GREE、mixi などの開発ブログを追いかけたり、技術系イベントに行くと、こういった話が出てくる。
435デフォルトの名無しさん:2011/10/30(日) 17:39:21.92
特殊なケースを
さも一般のように語る阿呆がいるなw
436434:2011/10/30(日) 17:52:49.47
まぁたしかに、業務系だったら(アクセス料にもよるけど) >>434 のようなことまでする必要はないかもね。
437デフォルトの名無しさん:2011/10/30(日) 17:52:56.90
え? 特殊?

お前どんなの作ってるの?
438デフォルトの名無しさん:2011/10/30(日) 17:53:29.04
今は業務系よりも
ウェブサービスのほうが
大規模アプリになってしまったよね。
439デフォルトの名無しさん:2011/10/30(日) 18:24:32.97
この人はウェブサービスをどういうものだと思ってるのか。
440デフォルトの名無しさん:2011/10/30(日) 19:27:21.53
>>438
プッw
おまえwww
441デフォルトの名無しさん:2011/10/30(日) 19:36:29.25
> mixi、モバゲーなどの、超大規模 web 2.0 系では、MySQL を数百台並べるけど、
> ああいったところは、たとえば日記テーブルとユーザマスタテーブルを別DBサーバにしちゃうんだよ。
> (日記DBと、ユーザマスタDBのなかで、さらにクラスタリングする)
>
> だから SQL で join できない

別DBでもSQLで取得できるのを知らないんだなw
たとえばoracleなんか簡単に出来る
442デフォルトの名無しさん:2011/10/30(日) 19:44:08.76
oracle って DBサーバまたいで join とか出来たっけ?
443デフォルトの名無しさん:2011/10/30(日) 19:52:43.05
>>442
できない。
できるRDMSって聞いたこと無いな。

できるにしても、別サーバーなんだから
極端にパフォーマンスは落ちるだろうね。
444デフォルトの名無しさん:2011/10/30(日) 19:52:50.89
データベースリンク使えばできるよ
445デフォルトの名無しさん:2011/10/30(日) 19:52:58.21
Oracleにはデータベース・リンクというものがあるだろ
何で知らないんだよ雑魚w
446デフォルトの名無しさん:2011/10/30(日) 19:54:22.95
>>443
> >>442
> できない。
> できるRDMSって聞いたこと無いな。
>
> できるにしても、別サーバーなんだから
> 極端にパフォーマンスは落ちるだろうね。


コイツwww
馬鹿がいたぞwww

こんなんで技術者っていうのかよwww

知ったかぶりの極地だなwww

そして一分で論破されてやがるwww
消えろカスwww
447444:2011/10/30(日) 19:55:35.45
ちなみにSQLServerにも似たような機能がある
PostgreSQLにも何かあったような気がする
448デフォルトの名無しさん:2011/10/30(日) 19:59:57.94
まあ内容は妥当なことを言ってるんだろうけど・・・
なんでそんなにヒートアップしてるの?
449デフォルトの名無しさん:2011/10/30(日) 20:01:08.37
しかし >>441 って凄いな〜
別DBだからSQLで問い合わせ出来ないとか自信満々に言ってやがるw
恥ずかしくないのかねぇw
450デフォルトの名無しさん:2011/10/30(日) 20:20:56.66
リンク間違ってるぞ
451デフォルトの名無しさん:2011/10/30(日) 20:24:49.64
なんか、わざとらしい自演を見た気がする
452デフォルトの名無しさん:2011/10/30(日) 20:28:34.53
>>450
あ、間違えたw


しかし >>443 って凄いな〜
別DBだからSQLで問い合わせ出来ないとか自信満々に言ってやがるw
恥ずかしくないのかねぇw
453デフォルトの名無しさん:2011/10/30(日) 20:29:41.03


あ、また間違えたwww


しかし >>434 って凄いな〜
別DBだからSQLで問い合わせ出来ないとか自信満々に言ってやがるw
恥ずかしくないのかねぇw

454デフォルトの名無しさん:2011/10/30(日) 20:43:39.66
おちつけ
455デフォルトの名無しさん:2011/10/30(日) 20:48:46.40
言ってる内容は間違ってないんだが
どうも言い方がねぇ
456デフォルトの名無しさん:2011/10/30(日) 21:07:30.49
<ref local=
って複数指定できないの?
エラーになるんだが
457434:2011/10/30(日) 22:16:17.07
>>453
DBリンクできるのは知ってるけど、
仮に日記DBにユーザマスタDBのテーブルを接続したとして、
日記DB経由でアクセスするよりも、直接ユーザマスタDBにアクセスしたほうが速いとおもう。
(というか余計な要素が減る)

>>453 に言いたいのは、「できる/できない」を「知っている/知らない」じゃないんだよ。
実際にやってみて、ちゃんと使い物になるかどうかなんだよ。

よく「それ○○でできますよ」っていう人がいるけれど、
実案件で実際にやったことない人が多すぎる。

<ここから>
DBリンクの機能も、別DBにあるテーブルをjoinするよりも、
どちらかというと他システム連携とかの目的で使うことが多いんじゃないの?

たとえば、他システムのインターフェーステーブルだけを、自分のDBにDBリンクしておいて、
データ連携するときだけ、そのテーブルに書き込むとか、あるいはその逆。

※なので、自分はDBリンクを否定しているわけではないよ。
こういった目的でよく使うし。

DBリンク越しにjoinするのはネットワークをまたがるのだから(別DBとやらが、同一サーバにある場合はこの限りではないが)
パフォーマンスも悪いし、joinしたいんだったら同じDBに乗せるべきだと思う。
</ここまで>

<ここから>〜<ここまで> のところは、自分が経験してきたプロジェクトが
そういうポリシーだったのが多かったのでこのような考え方をしているが、
もしDBリンクについて別の活用例があるのならごめんなさい。
458デフォルトの名無しさん:2011/10/30(日) 22:17:50.07
DBリンクなんて
他でも幾らでも使用実績あるだろ
何で知らないんだよ
>>434 は空想世間で生活してるのか?w
459434:2011/10/30(日) 22:23:10.44
いや、頻繁な join や、よくアクセスするテーブルも
DBリンク越しにやってるのかなー、と思って。

※自分なら、頻繁にアクセスするようなテーブルは、DBリンク越しにしないで
自分のDBに持ってきてしまうので。
460デフォルトの名無しさん:2011/10/30(日) 22:34:09.09
パフォーマンスに無頓着な所が
データベースリンクを使ってるよ

重いですねぇ。もっとサーバーのスペックを挙げないといけませんねって所。
こういう所はサーバーの台数を増やすという発想がない。
サーバー一台の性能の限界が、開発力の限界になってる。
461デフォルトの名無しさん:2011/10/30(日) 22:51:25.79
>>456
エラーとコードを全部晒せ

まあ、ここよりstackoverflowにでもいって
全部コード晒して聞いてみたほうがはやいと思う
462デフォルトの名無しさん:2011/10/30(日) 22:54:05.02
>>459
だったらそもそも別に分ける必要すらないだろ
463デフォルトの名無しさん:2011/10/31(月) 22:52:55.21
ForkJoinPool
なんで使ってるんだ?

もう7を先取りしてるとか?

安定版を供給しなさいw
464デフォルトの名無しさん:2011/11/01(火) 00:00:27.67
>>458
つーか、上場企業のシステムとかだとテーブル1万とか普通にあるからな。
普通は夜間バッチとかSOAPやREST系でDBと切り離してデータ交換するが、
リアル系はDBリンクがないときっついよな。
465デフォルトの名無しさん:2011/11/01(火) 00:08:48.56
>>434
ボクは、javaScriptで遊んどけ。お前が見えてない世界では
コード書かないヤツでも常識で知ってることを平気で
否定してるからな。

>>443
とりあえず「oracle DBリンク」でググって顔真っ赤にしとけ。
いやここでいいや。
ttp://download.oracle.com/docs/cd/E16338_01/server.112/b56301/ds_concepts002.htm
466デフォルトの名無しさん:2011/11/01(火) 00:16:26.56
うーむ、
WebSphereUowTransactionManager
なんて用意してるのかよ
spring は用意万端すぎるな
467デフォルトの名無しさん:2011/11/01(火) 00:17:46.83
>>464
そうだな、DBリンクなんて
どの企業でも当たり前のように使ってる
既に8の時からあったから、技術者なら知っていて当然の常識だな
468デフォルトの名無しさん:2011/11/01(火) 07:04:46.99
WebSphereUowTransactionManagerでコンパイルエラーになるわ・・・
WASのjarが無いから
469デフォルトの名無しさん:2011/11/01(火) 14:07:38.14
どうもspringの挙動が理解できん
RegexpMethodPointcutAdvisorのadviceプロパティにセットするだけで
何でメソッドをインターセプト出来るんだ?
470デフォルトの名無しさん:2011/11/01(火) 14:17:42.05

あるターゲットクラスのメソッドに対して
どうやってフック、コールバックしてんだ?
vmに何かの指令を出してるのか?
バイトコードをどのように操作してんだ?
471デフォルトの名無しさん:2011/11/01(火) 15:06:34.23
「誰が」invokeしてるんだ?
472デフォルトの名無しさん:2011/11/01(火) 15:13:07.96
InvocationHandlerか
なるほろ
473デフォルトの名無しさん:2011/11/01(火) 16:50:13.33
コイツがフック船長してんのかよ
なーんだw
474デフォルトの名無しさん:2011/11/03(木) 03:31:26.80
>>466
IBM系はIBMの中の人がなんかやってんじゃね
Spring関係の日本語ドキュメントとかも結構おいてるし、読みにくいけど…
475デフォルトの名無しさん:2011/11/03(木) 10:37:43.82
spring使う程度ならば
(定義ファイルに書いて利用する程度)
フレームワークの理解などいらんか


・レベル1 --- 「spring使えます」程度の雑魚
・レベル2 --- springのフレームワーク理解できます
・レベル3 --- springのフレームワークのバイトコード操作部分の知識もあります
476デフォルトの名無しさん:2011/11/03(木) 11:07:05.55
springのバイトコード書き換えって
どのレベルまでなの?
例えばクラスAの親クラスとの関係まで書き換えられる?
それともフィールドに値を動的変更する程度?
その程度ならばリフレクションでも可能だが
477デフォルトの名無しさん:2011/11/03(木) 11:09:27.32
本当の意味のバイトレベルの操作というのは
クラスの構造や親クラスとの継承関係までも動的に変更できることを指すんだが
SPRINGフレームワークでは、そこまでの機能を提供してるのだろうか?
478デフォルトの名無しさん:2011/11/03(木) 11:20:46.51
DI のコードのデバッグってただでさえややこしいのに、
バイトコード変換なんてことまでされた日には・・・。
479デフォルトの名無しさん:2011/11/03(木) 11:24:28.30
例えば動的に
クラスのメソッドを追加するとか、フィールドを追加するとか
クラスの構造自体を動的に変更するとか
そこまでのバイトレベルの機能を提供してるんだろうか?
480デフォルトの名無しさん:2011/11/03(木) 11:55:02.53
やりたきゃasmでも使って好きにしろ
ここはお前のtwitterではない
481デフォルトの名無しさん:2011/11/03(木) 12:09:18.40
SPRINGが提供してる機能はどうってことない
自分で実装すれば良い
メソッドのバインディング程度ならば軽く実装出来るだろう
特に使う必要すら感じない
482デフォルトの名無しさん:2011/11/03(木) 12:44:23.56
>>481
その通り
自作がカスタマイズが効いて一番良い
483デフォルトの名無しさん:2011/11/03(木) 13:02:00.97
>>481
早速作ってくれ
484デフォルトの名無しさん:2011/11/03(木) 20:05:17.25
つーか、バイトコード書き換えとか誰か望んでるんか?
そんな方面の実現はスクリプトで十分じゃねぇの?
メンバーにボンクラがいたりしたら、CPUアーキ
テクチャも勿論だし、JDK、VMレベルの前提環境が
変わった途端、あちこち動かなくなるんじゃね?
485デフォルトの名無しさん:2011/11/03(木) 21:43:26.58
javassistとか知らない低脳か?
486デフォルトの名無しさん:2011/11/03(木) 23:04:51.50
知らない低脳なので詳しく解説してくれ
487デフォルトの名無しさん:2011/11/04(金) 07:13:02.58
>>484
springのやってること自体を否定する低レベル乙
488デフォルトの名無しさん:2011/11/04(金) 16:53:41.10
Spring 2.5 までの知識しかないけど、
Spring ってバイトコード書きかえってやってるの?
AOP のインターセプターがやっている、あるメソッド呼出と、レシーバとの間にproxyクラスを挟むだけだと思っているんだけど。
# オリジナルの挙動は書き換えない。


javassist でやっているバイトコード書き換えは、Seasar2 のほうなのでは?
489デフォルトの名無しさん:2011/11/04(金) 20:25:07.33
>>488
> Spring ってバイトコード書きかえってやってるの?

やってるよ
490デフォルトの名無しさん:2011/11/04(金) 20:28:20.56
>>488
DIとAOPはそれでも実現可能だが
491デフォルトの名無しさん:2011/11/04(金) 21:58:18.06
>>489
どこらへんで?
492デフォルトの名無しさん:2011/11/04(金) 23:13:12.11
知ってるとか知らんとかの問題じゃねぇだろ。
望んでるんかと書いてるが日本語読めないのか?
493デフォルトの名無しさん:2011/11/04(金) 23:32:29.35
と底辺が申してますw
494デフォルトの名無しさん:2011/11/05(土) 07:44:15.12
>>486
アプリをランタイムが実行するときに
コンパイルされたソースを書き換えるライブラリがあるんよ。
JBossならJavassistっていう東工大の人が作った有名なの使ってるし
SplingならAOP Aliance?とかいうの使ってたはず。
O/Rマッパーもエンティティクラスをあれで書き換えてるじゃないかな。
495デフォルトの名無しさん:2011/11/05(土) 12:40:09.60
> SplingならAOP Aliance?とかいうの使ってたはず。

ぷっw
無知
496デフォルトの名無しさん:2011/11/05(土) 19:22:12.63
Splingぐらい知っとけアホw
497デフォルトの名無しさん:2011/11/05(土) 21:21:47.47
綴りから間違えてる馬鹿がいるなw
498デフォルトの名無しさん:2011/11/05(土) 21:36:05.50
ついでにAllianceもLが一個たらんな

AOP AllianceてSpringで配布やつと
SourceForgeで配布してるやつに分裂してるのはなぜなんだぜ
499デフォルトの名無しさん:2011/11/05(土) 22:22:06.95
Allianceならまだわかるけどな。
Springを間違えるって大丈夫か?

春だぞ春。summer、autumn(fall)、winterと一緒に
中学生で習う英単語だろ?
500デフォルトの名無しさん:2011/11/05(土) 22:26:22.43
しゅぷりんぐの偉大なところはまともな日本語こみゅがなくても誰も困ってないこと
501デフォルトの名無しさん:2011/11/05(土) 22:44:22.67
つーか底辺が多すぎるんだが

俺はソース全部解析したから
spring の動きとか仕組みは全部把握してる
技術者と名乗りたいのなら、最低限のレベルだ
502デフォルトの名無しさん:2011/11/05(土) 22:45:59.40
どうせ「案件で設定ファイルに書いたことあります」キリッ
ってやつばかりなんろうがw

いくらフレームワークが発達しても
内部の挙動ぐらい把握できないような雑魚が増えるのはどうかと思うがねぇ
503デフォルトの名無しさん:2011/11/06(日) 00:35:48.98
内部の動き把握するぐらいで
なに自慢してるの?w
504デフォルトの名無しさん:2011/11/06(日) 01:08:24.31
なら解説してみろよ
どうせ理解すらしてないんだろうけど
FWのコードを理解するのって実力が必要だからな
505デフォルトの名無しさん:2011/11/06(日) 01:18:26.66
なにを解説しろと?
springなんてリフレクションの機能使って
アノテーション見て、適当な値を入れたり、
処理を割りこませてるだけだろ。
506デフォルトの名無しさん:2011/11/06(日) 01:21:14.08
理解するだけで実力自慢かよ
自慢するならなんか公開してからだろ。お前のリポジトリどこよ?
507デフォルトの名無しさん:2011/11/06(日) 01:30:47.32
Spring Rooの話題ってあまりでないね

あとソース理解してるとかより、コミッターやってますとか
一日一回stackoverflowとかでヘルプしてますとかのほうが
みんな幸せになれるんじゃね
508デフォルトの名無しさん:2011/11/06(日) 01:36:19.42
>>506
じゃあ、言いだしっぺのあなたからどうぞ(笑)
509デフォルトの名無しさん:2011/11/06(日) 01:48:26.18
>>505
具体的に説明して欲しいな
MethodPointcutAdvisorはどこでバインドされてるとか
510デフォルトの名無しさん:2011/11/06(日) 01:49:17.51
>>505
> なにを解説しろと?
> springなんてリフレクションの機能使って
> アノテーション見て、適当な値を入れたり、
> 処理を割りこませてるだけだろ。

あぁ、コイツ全然わかってねーやw
たぶん解析も出来てないし、説明も出来ないわw
511デフォルトの名無しさん:2011/11/06(日) 01:50:01.18
>>507
そんなハイレベルな人がいると思うか?
2chの掃き溜めスレに
512デフォルトの名無しさん:2011/11/06(日) 01:52:16.98
>>510
いやw springのソース見ろよ。っていか見る以前に
springを使ったソースコードに
アノテーション使ってるだろ。

反論したいというそのお前の気持はわかるが
もう少し具体的にかけや。
お前のそのレス、中にもがなにも無いぞ。
わかってな〜い、わかってな〜いに終始してるだけだ。
513デフォルトの名無しさん:2011/11/06(日) 01:54:34.22
>>512
だ・か・ら
具体的に説明して欲しいな
MethodPointcutAdvisorはどこでバインドされてるとか

バインドとコンテナの仕組みを簡単に説明しろ

どうせ、出来ないんだろうがw
早く説明してくれよ素人クンw
514デフォルトの名無しさん:2011/11/06(日) 02:01:27.16
お前が先に説明しろよw
言いだしっぺの法則。其の二w
515デフォルトの名無しさん:2011/11/06(日) 02:02:12.29
ヒントjava.lang.intrument
516デフォルトの名無しさん:2011/11/06(日) 02:18:32.37
誰かと勘違いしてるんだろう
517デフォルトの名無しさん:2011/11/06(日) 02:23:44.82
だから>>505 のような雑魚に聞いても無駄だって
こいつのレス読めば底辺の土方PGだって読み取れるだろw
518デフォルトの名無しさん:2011/11/06(日) 02:42:09.41
確かに底辺ばかりのスレですね
特に >>505
519デフォルトの名無しさん:2011/11/06(日) 02:45:16.21
Springってどうよ
520デフォルトの名無しさん:2011/11/06(日) 03:01:44.47
(・ω・) うーは黙ってろ
521デフォルトの名無しさん:2011/11/06(日) 03:10:02.16
読めば分かることで、なんか偉そうに
しているのを見ると微笑ましいw
522デフォルトの名無しさん:2011/11/06(日) 03:27:53.73
と底辺が申してます
523デフォルトの名無しさん:2011/11/06(日) 04:01:27.72
まぁここに来る人で達人なんかいないだろう
524デフォルトの名無しさん:2011/11/06(日) 07:59:37.55
しかし >>505 がプログラムなど全く出来ない糞なのが
よくわかったと思う、コイツは史上最低の阿呆だな
525デフォルトの名無しさん:2011/11/06(日) 08:15:43.80
SPRINGのソースは難しいよ
これを把握できる人なんて相当上級だよ
少なくともこのスレに投稿する連中が理解できるレベルじゃないのは確か
そんなレベルだったら技術の基盤チーム担当になれる
526デフォルトの名無しさん:2011/11/06(日) 09:01:33.69
難しいといっても、アセンブラ使えて
さらにプログラムの書き換えまでやっていた
俺にとっては、読めばすぐに分かる程度のコードだろうな。
527デフォルトの名無しさん:2011/11/06(日) 09:04:49.11
とバカが言っております
皆さんスルーしてやって下さい
ただの狂人の妄想ですからw
528デフォルトの名無しさん:2011/11/06(日) 09:10:37.11
他人が簡単に理解できるのを見ると
辛いよねw

でも、君、アセンブラやったことある?
529デフォルトの名無しさん:2011/11/06(日) 09:14:36.67
キチガイが登場してきたなw
アセンブラとか言ってますよww

市ね、と言ってあげましょうね
530デフォルトの名無しさん:2011/11/06(日) 09:16:03.57
>>526 のような屑っているんだよなぁ
実際にコードが読めないのに

まるで底辺のゆとりが「俺が本気だしたら凄いんだぞ!明日から本気出す」
と一緒なんだよなぁw

なんでこういう馬鹿が生きてるのか?不思議だわww
531デフォルトの名無しさん:2011/11/06(日) 09:24:15.04
そうそう
実際に読んでもいないのに
俺はアセンブラできるから、本気になったら読めるだろう
とか言い出す奴が一番レベル低いんだよなぁ

オブジェクト指向とアセンブラって全く構造が違うのに
その入り口さえも理解してない

こういう人を育てた
親の教育が間違ってたと思うんだよ、そもそも生んだ事自体が間違えだったかもねw
532デフォルトの名無しさん:2011/11/06(日) 09:29:57.17
はて? なんでアセンブラやっていたら
オブジェクト指向できないと思っちゃうわけ?w

両方できるぞ。
533デフォルトの名無しさん:2011/11/06(日) 09:51:25.91
まずは読んでから言いましょうね
底辺の土方PGクンw
534デフォルトの名無しさん:2011/11/06(日) 09:52:07.77
どうせダウンロードすらしてない底辺だろうけどw
アセンブラだってよww
いつの時代だよww カスww
535デフォルトの名無しさん:2011/11/06(日) 09:57:01.11
アセンブラの土方プログラマに
オブジェクト指向の複雑なコードを解読する力なんでないよ
springはパッケージが膨大で極めて複雑な処理のオンパレードだ
土方プログラマ如きに読めるシロモノじゃないよ
536デフォルトの名無しさん:2011/11/06(日) 10:15:09.81
一昔前の Sesar2 スレかと思うほどにつまらん煽り合い・・・
どうしてこうなった。
537デフォルトの名無しさん:2011/11/06(日) 10:15:40.41
>>535
理解するならソースなんかより
ロッドジョンソンの本でも読んだほうがはやいんでは

最終的にソース読むとしても
どんな考えのもとにフレームワークを設計したか、を知るには
自然言語のほうがいいですやん

>>536
2chだから、あとなんか話題ふってw
538デフォルトの名無しさん:2011/11/06(日) 10:18:51.00
>>537
ロッドジョンソンの本はいろいろあるが
springの設計思想について叙述した著書がない
だからコードを直接見て理解するのが最短だろう
539デフォルトの名無しさん:2011/11/06(日) 12:07:35.26
>>494
2.5時代の知識しかないけど、SpringのデフォルトはJavaのProxyを使ったAOPで
AspectJに対応することで、他フレームワークがjavassistでやるようなバイトコードレベルの拡張に対応していた

ここら辺に書いてあるやつ
http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-using-aspectj

AOP AllianceはたしかAOPに関するIFを取り決めたもので、実装は関係なかった気がする
540デフォルトの名無しさん:2011/11/06(日) 12:15:14.32
1.1 時代だとトランザクションの為に AOP 使うのに
GCLIB が必要になってた気がする。
今って GCLIB 使ってないんか。

化石のような知識のままでも3.0普通に使えるし
設計の洗練されっぷりに鼻血が出る。
541デフォルトの名無しさん:2011/11/06(日) 12:19:49.45
>>540
> 今って GCLIB 使ってないんか。

使ってるよ
542デフォルトの名無しさん:2011/11/06(日) 12:20:49.53
今は3.1だけどな
3.0とか思い込んでる奴は既に化石w
543デフォルトの名無しさん:2011/11/06(日) 12:26:28.30
3.1はまだRCだろ
てかSpring使うような案件だと3.1出てもすぐには使わないんではなイカ
544デフォルトの名無しさん:2011/11/06(日) 12:28:16.43
>>540
アスペクト関係使うときはaop allianceとかと一緒にいれるね
あとなんかひとつ必要だった気がスルガわすれた orz
545デフォルトの名無しさん:2011/11/06(日) 12:44:39.09
GCじゃなくて、cglibな。
546デフォルトの名無しさん:2011/11/06(日) 12:45:08.43
また綴りさえも間違う馬鹿いたのかよw
547デフォルトの名無しさん:2011/11/06(日) 12:56:48.79
>>540
インターフェイスを使わないクラスにAOP使用するときに使う(AspectJ使わないとき)

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-introduction-proxies
548デフォルトの名無しさん:2011/11/06(日) 14:07:36.95
我ながらひでえな>綴り
指摘サンクス。
549デフォルトの名無しさん:2011/11/06(日) 16:40:21.35
英語のマニュアル載せても読めないw
日本語の乗せてくれ
550デフォルトの名無しさん:2011/11/06(日) 19:08:39.85
Spring2.5以降いじっていないが
(顧客のウンコフレームワークしか使えない仕事に移ったので)、
3.1 をいじってみるか。
551デフォルトの名無しさん:2011/11/06(日) 19:20:40.23
いじるって
どこまでのレベル?

設定ファイルを色々と試す程度か?
552デフォルトの名無しさん:2011/11/06(日) 19:42:42.74
applicationContext.xml
をちょこっと弄る程度だろ
どうせw
553550:2011/11/06(日) 20:14:37.00
Spring2.5 のころはちゃんとソース読んでたぞ!!

HibernateDaoSupport とか iBatisDaoSupport の仕組みとか、
同梱されているPDFはもちろん、あとはソース読んだりして勉強した。
JUnit のスーパークラスも Spring から提供されているが、
「テスト終わった後、トランザクションはロールバックされるの? コミットされるの?」
ということもわかっていなかったので、追っかけたりしていた。
偉そうに書いているが、何分自分のスキルが低いので、PDF 検索したりソースを grep ばかりしていた。

3.1は、まずいろいろ忘れているので、
設定ファイルを色々と試したり
applicationContext.xml をちょこっといじる程度から
始めないといけないなw

ROOって必須ではないんだよね?
ROO でエンティティクラスを自動生成するデモを見たことがあるけど、
単なるエンティティなのに、なんかいろいろなクラスが生成されてて「ちょっとなぁ・・」っと思っていたので。
554デフォルトの名無しさん:2011/11/06(日) 20:40:00.28
ROOは単なるツールだろ
何でそんな基本すら忘れてるんだよw
本当に実績あんのか?
555デフォルトの名無しさん:2011/11/06(日) 20:53:15.31
> 同梱されているPDFはもちろん、あとはソース読んだりして勉強した。

そんなんあったっけ?
556550:2011/11/06(日) 21:38:30.77
> ROOは単なるツールだろ

いや、2.5以降ほんとうにSpring離れていたので、
(離れていても、blog 等追いかけてろ、と言われればその通りだが)
認識したかっただけです。

PDF は、spring のフルセットの zip をダウンロードすると、その中に入っていた気がする。
557550:2011/11/06(日) 21:39:14.70
誤:認識したかっただけです
正:確認したかっただけです
558デフォルトの名無しさん:2011/11/06(日) 22:25:08.69
spring のソースコードを読むために必要な技術

について書かれている本ってある?
559デフォルトの名無しさん:2011/11/06(日) 22:32:40.35
ひたすら追っかけるしかねーんじゃないの?
560デフォルトの名無しさん:2011/11/06(日) 22:41:12.93
> PDF は、spring のフルセットの zip をダウンロードすると、その中に入っていた気がする。

解凍してみたけど
無いようなんだが・・・
561550:2011/11/06(日) 23:06:16.08
>>560
いま、Spring のサイトから zip を落としてみたけど、入っていたよ。

http://www.springsource.org/
→ページ下の Projects で Spring Core をクリック
→ページ右側の RELEASE SUMMARY で SpringFramework 2.5.6SEC03 の download をクリック
→spring-framework-2.5.6.SEC03-with-docs.zip をダウンロード(35.4MBのやつ)

zip を展開して、docs\reference\pdf の下にある。

PDF だけ見たければ、
http://www.springsource.org/
→ページ下の Get Started の Documentation
→SpringCore
→ページ右側に、PDF、HTML、javadoc、changelog がある。
562デフォルトの名無しさん:2011/11/07(月) 01:49:26.29
APIリファレンスのPDF版なら1.xから入ってたよ
あれはHibernateと同様にdocbookからHTMLとPDFを生成してる
同じ人がコントリビュートしたんだけどね
563デフォルトの名無しさん:2011/11/07(月) 04:58:56.06
ソース読み自慢してるアホがいるけど
使い方を知ってれば十分だろ

ソースを読まないと使いこなせないように
できているとすれば、それはツールとして間違っている
564デフォルトの名無しさん:2011/11/07(月) 05:25:27.00
使えます程度の初心者
そんなのを「技術者」と呼んでいいのか?
565デフォルトの名無しさん:2011/11/07(月) 05:44:56.81
STSって使ってる人いますか?
開発に必須ツールなの?
566デフォルトの名無しさん:2011/11/07(月) 06:05:04.36
無料になったんだっけ?
567デフォルトの名無しさん:2011/11/07(月) 06:16:41.41
聞いたこと無い
568デフォルトの名無しさん:2011/11/07(月) 10:45:02.68
>>564
そんなものは要求しだいだろ。
プログラムだけしてればいいなら別だが。
569デフォルトの名無しさん:2011/11/07(月) 12:42:11.17
>>564
それは案件のPGレベルだな
土方プログラマと呼ばれる類の人種だ
使い捨てだ
570デフォルトの名無しさん:2011/11/07(月) 17:18:09.55
使い捨てのPGなら設定ファイルに
ごにゃごにゃかける程度でいいな
571デフォルトの名無しさん:2011/11/07(月) 17:37:57.54
逆にPMとかなら、他で充分な経験があれば、
基本的なことがわかれば充分と言う話もある。
572デフォルトの名無しさん:2011/11/07(月) 18:26:57.54
PMにフレームワークの深い知識なんて求められんよ
むしろ業務知識とかの方が求められる
573デフォルトの名無しさん:2011/11/07(月) 18:36:12.79
案件の基盤技術チームなら
FWの深い知識が求められる
574デフォルトの名無しさん:2011/11/07(月) 20:08:47.60
雑魚PGならapplicationContext.xmlに書けるレベルでもOKだが
575デフォルトの名無しさん:2011/11/07(月) 20:41:48.78
PMはむしろ、自分は何が分かってないか(何を他人に任せるべきか)、
だけは分かっててほしいけどな。
会議で基盤技術チームに「そもそもDIというものはだな・・・」とか
説教始めるのは勘弁。
576デフォルトの名無しさん:2011/11/07(月) 20:43:59.96
PMが技術論の能書き垂れるのは最悪だなw
577デフォルトの名無しさん:2011/11/07(月) 22:51:40.83
仕事でやってるのなら、よっぽど小さい
プロジェクトじゃない限り、複数の人で開発するわけで
他人の書いたソースを読むのは普通でしょ?

他人の書いたソースを読んでることが自慢になると
思っているヤツのほうこそ、お前プロじゃないの?って思うんだけど。
578デフォルトの名無しさん:2011/11/07(月) 23:08:34.56
チンケなソースが読めるのと
世界最高峰のプログラマが書いた設計思想が読み取れるのと
雲泥の違いというのがわからん馬鹿
579デフォルトの名無しさん:2011/11/07(月) 23:09:51.17
>>578
お前の会社のプログラマって
それぐらいもできないの?
580デフォルトの名無しさん:2011/11/07(月) 23:29:11.29
>>579
ではお前はspringのバインドとインタセプターの実装を
具体的に説明できるんだろうな?

実際のコードで説明してくれ
581デフォルトの名無しさん:2011/11/07(月) 23:39:33.04
無理だろ
こんなカスにRJのコードが読めるワケないってw
582デフォルトの名無しさん:2011/11/07(月) 23:55:15.05
読めるってやつが以前にもスレでいたが
その後一切音沙汰なしだもんな
複雑な設計思想のspringが解析できるスキルある奴なんて
こんなカススレに存在しないよ
583デフォルトの名無しさん:2011/11/08(火) 00:08:31.92
インジェクションするだけのフレームワークのくせになんであんな大規模で複雑なんだろうな。
584デフォルトの名無しさん:2011/11/08(火) 00:18:01.21
完成したフレームワークを使える程度の
雑魚が調子に乗ってるようだな
使えるのと内部コードを把握できるのと次元が違うのも理解できない雑魚
まぁ土方PGじゃ仕方ないかw
585デフォルトの名無しさん:2011/11/08(火) 00:18:55.97
案件の使い捨てPGって将来どうなるんだ?
586デフォルトの名無しさん:2011/11/08(火) 00:45:51.90
内部コードを把握できるほどの有能なプログラマなら、
もうすこし技術的に有益なことを書いてくれないかな。
587デフォルトの名無しさん:2011/11/08(火) 00:51:12.66
それで優秀な >>579 さんは
いつになったら説明してくれるんだろうな?w
もう逃げのかな?w
588デフォルトの名無しさん:2011/11/08(火) 00:51:14.50
>>580
説明頼む
589デフォルトの名無しさん:2011/11/08(火) 00:57:27.88
此処の人達にコアの解析なんて無理でしょ
小学生に英語の論文を読めって言ってるようなもんだよw
590デフォルトの名無しさん:2011/11/08(火) 01:03:15.37
つまり、その此処の人たちは自分込みなワケか。
591デフォルトの名無しさん:2011/11/08(火) 01:06:34.74
底辺PGが集まるスレだろ
592デフォルトの名無しさん:2011/11/08(火) 01:28:06.62
読めるとかいう香具師は
最低でも各パッケージの主要クラスの役割を説明してほしいものだ
どうせ出来っこないろうが
593デフォルトの名無しさん:2011/11/08(火) 01:44:24.82
追っかけてみたが
たった数行の登録だけで
凄まじく複雑な処理してるんだな

余りにもネストが深すぎて
どこでバインドしてメソッドインターセプト挟んでるのか追うだけでも大変だわ
594デフォルトの名無しさん:2011/11/08(火) 02:19:46.62
ジョイントポイントの設定はどのクラスでやってるの?
595デフォルトの名無しさん:2011/11/08(火) 02:39:31.06
>>594
ジョイントポイントちゃう!ジョインポイント(join point)や!
596デフォルトの名無しさん:2011/11/08(火) 03:05:06.08
join pointに対してAdviceを設定ファイルに書けば
スプリングが勝手に構築してくれるのだが
実際のコードを見ると極めて構造が複雑でとても追いきれるシロモノじゃない
読める奴は説明してみろ
597デフォルトの名無しさん:2011/11/08(火) 19:40:18.14
別にどうポイントカットしようが知った事じゃないけどね。
ツールオタクになるより重要な事があるだろ。人を使う側の人間なら。
598デフォルトの名無しさん:2011/11/08(火) 20:15:17.53
ポイントカットとアドバイス
どう違うの?
599デフォルトの名無しさん:2011/11/08(火) 20:33:33.93
Struts2での案件が来た
さんざん別のフレームワークにしてくれと言ったのに通じなかった
助けてくれ
600デフォルトの名無しさん:2011/11/08(火) 23:10:34.62
>>598
ポイントカットに差し込まれる処理がアドバイス
アドバイスが差し込まれる場所がポイントカット
ポイントカットとして選べる場所がジョインポイント

>>599
Struts(1.x)じゃないだけマシ
601デフォルトの名無しさん:2011/11/09(水) 00:08:42.65
結局偉そうなことを言っておきながら
誰もコード読んでないのかw
602デフォルトの名無しさん:2011/11/09(水) 00:13:28.13
一番偉そうなあんたも含めてな
603デフォルトの名無しさん:2011/11/09(水) 02:47:44.77
コード読む人って
tomcatとかsendmailとかも全部読んでから使うの?
そもそもオープンソース以外のソフトウェアはどうするんだ…
604デフォルトの名無しさん:2011/11/09(水) 04:55:10.97
Struts2って全然だめじゃないだろ。嫌がる要素あるのか?
別のフレームワークってSpringMVCあたり?

>>603
sendmailってもう使われてな・・Tomcatは部分的なら読んでる人結構いると思うが。
605デフォルトの名無しさん:2011/11/09(水) 05:33:51.73
SpringMVCの導入実績なんて聞いたことないな
606デフォルトの名無しさん:2011/11/09(水) 11:58:29.24
Soring とは若干ずれるが、
Struts2 がだめならほかにどんなのを使っているのか、興味がある。

wicket、Click はおもしろいと思うし、Spring 連携機能もあるが、
業務系で使っているのはほとんど聞いたことがない。
# 自分個人で作るサイト、使い捨てプロジェクト内webツールみたいなのではやったことがあるけど。

>>605
おれのまわりでは SpringMVC 使っている案件も結構ある。
「俺の周り」と言われても困ると思うが、、、まぁそんな例もあるということで。
607デフォルトの名無しさん:2011/11/09(水) 12:00:40.28
>>606
> Struts2 がだめならほかにどんなのを使っているのか、興味がある。

マーヤじゃね?
あるいはJSFかも
608デフォルトの名無しさん:2011/11/09(水) 13:14:13.43
JSFはStruts以上に終わってると思うんだが・・・・
まぁ自分も JSF 1.2 までしか使ったことがないので、2.0 でどう変わったかはあまり知らんけど
609デフォルトの名無しさん:2011/11/09(水) 13:18:00.78
jsf案件は見たこと無いなぁ
何が避けられてる原因なのかね?
ライフサイクル管理が面倒くさいから?
610デフォルトの名無しさん:2011/11/09(水) 14:05:55.48
aopするクラスって
必ずインターフェースを付けないとダメなの?
611デフォルトの名無しさん:2011/11/09(水) 20:43:30.84
>>609
サーバ側で色々やりすぎてるせいでクソ重いし
開発環境とのセットで画面を簡単に開発できるのが売りだったけど、
最近じゃ画面系はJSのライブラリで動かすのが定番だし
時代に取り残された感が強い
元ネタのASP.NETも最近はRailsライクなMVC版出してるし
612デフォルトの名無しさん:2011/11/09(水) 20:57:26.06
> 最近じゃ画面系はJSのライブラリで動かすのが定番だし

javaSprictなんて過去の遺物だろw
613デフォルトの名無しさん:2011/11/09(水) 21:05:06.46
javaSprictとか聞いたことないから遺物だったんだろうな
614デフォルトの名無しさん:2011/11/09(水) 21:12:28.33
これからのトレンドJavaSprict
615デフォルトの名無しさん:2011/11/09(水) 21:12:58.57
プログラマ:出来るだけ鯖側でやろうよ、めんどくさい
デザイナ:俺なら全部cssでやれるよ
ブログ弄って出来る気になってる人:jsで全部出来るよ
616デフォルトの名無しさん:2011/11/09(水) 21:17:38.07
>>610
そうだと思う
617デフォルトの名無しさん:2011/11/09(水) 21:36:14.72
>>610
つけなくても出来る
618デフォルトの名無しさん:2011/11/09(水) 21:59:27.20
>>617
AOPする対象に
インターフェースつけないと
エラーになるんだけど
619デフォルトの名無しさん:2011/11/10(木) 00:35:48.74
Springで画面作るときの、パターン的なクラス構成ってある?

Action,Service,Daoみたな。
620デフォルトの名無しさん:2011/11/10(木) 00:37:46.34
Daoだぉ( ^ω^)
621デフォルトの名無しさん:2011/11/10(木) 00:40:19.83
何で画面系がDAOなんだよ雑魚w
622デフォルトの名無しさん:2011/11/10(木) 00:43:30.69
        /  ,/ / /   _,..-''
       / / ///  〃 ,r'',.-'" //     /
  ,.ィ <´  〈,/〃/-//-'"/ / ,/__,,..-/
  } } ,〉 //" ,r'´ノ ,r'′//-''"二´‐'''~___ノ
  ,) Y ノ // ,r''´‐''"  -='"―-、彡"r'" ̄´
 ,イ  リ ノ り ,=、、-ニ_~― ~''-=二 ∠"´
 ヾ,ヽ 、, , ノノ {.トヾー-~ニ_-二 ― 二ニ==-‐''"
  ゝ  ミィイィ彡`ユ.|`\ヽ丶、‐ __ヽ'''三二,,,_
 〈 `ヾべ_{::::   'ゥ)  `8-、 ヽ‐ 、ヽ`''-_=-
  ゝ_ノ⌒ヘ~"   _”\    ヽ!\ヽ、'''ー-"ニ.._
 〈 (._   |∠ィ ,.ノ  /  __ハ_j!      \
  `‐''^   ,. -‐`ヾ__/ヽ. >,、く       \
       r;>-=<´ 〈 ノ_,.            ヽ \
      (l》L -―''''"~´            ヽ  ` 、
      /                `、   `、  lヽ
    /                    ヽ.   l  ||
    !                   `、   !  !|
    `、             、     |   } V,/
      ヽ             |    /  / 〃
        \           ヘ_,. -''"   / ,.イ′
        \             ヽ     l / /
         l           |      |′,'
623デフォルトの名無しさん:2011/11/10(木) 00:44:43.86
DIOだぉ( ^ω^)
624デフォルトの名無しさん:2011/11/10(木) 01:30:02.31
>>618
proxy-target-class="true"
625デフォルトの名無しさん:2011/11/10(木) 11:37:09.92
インターフェースがなくても、クラスからクラスやメソッド定義を読み取って
proxyクラスを作るのが cglib なんだっけ?
626デフォルトの名無しさん:2011/11/10(木) 11:42:23.70
cglibなんて使ってねーだろ!
どこで使ってるんだよw

springはcglibなんて使ってないぞ

627デフォルトの名無しさん:2011/11/10(木) 13:08:47.84
使ってないよ
628625:2011/11/10(木) 13:13:05.12
以前、↓読んで使ってるって思ってたんだけど・・・
http://muimi.com/j/aop/cglib/
629デフォルトの名無しさん:2011/11/10(木) 13:19:06.53
>>626-627
ttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop-api.html#aop-pfb-proxy-types

pom.xmlのdependencies見ればCGLIBに依存してるって一目でわかるだろ…
630デフォルトの名無しさん:2011/11/10(木) 13:33:07.36
どこが依存してるって?w
CGLIBも使ってますよ程度のコトしか書いてないんだがねぇw
631デフォルトの名無しさん:2011/11/10(木) 13:38:14.61
optionalでも依存は依存だろ。
「CGLIB"も"使ってますよ」と「CGLIBなんて使ってない」が同義だとでも思ってるのか?
632デフォルトの名無しさん:2011/11/10(木) 13:44:32.53
まさかとは思うがpomの見方も知らないわけじゃないよな?
dependencieがoptionalってことはspring-aop自体をビルドするのにCGLIBが必須ってこと
それは依存してるっていうんだよ
ただしユーザが実行する時はなくてもいい。AspectJスタイルのAOPしか使わない場合な
633デフォルトの名無しさん:2011/11/10(木) 14:06:52.05
>>632
>AspectJスタイルのAOPしか使わない場合な

そんなAOPねーよw

CGLIBを使う使わないのはオプション選択なのは正解だが
634デフォルトの名無しさん:2011/11/10(木) 14:08:48.64
>>632
CGLIBだけじゃないぞ
aspectjweaverも依存関係にある
635デフォルトの名無しさん:2011/11/10(木) 15:22:10.41
>>633
ttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-choosing
Spring RooはAspectJスタイルのAOP使ってるだろ

>>634
CGLIBにだけ依存してるとは書いてないだろ… 全部列挙しろってか?
636デフォルトの名無しさん:2011/11/10(木) 16:42:33.64
> Spring Roo

別に使わなくてもいい
ただのツールだろw
必須でも何でもないただのオプションを何で必須のように言うのかな?w
637デフォルトの名無しさん:2011/11/10(木) 17:08:40.21
>>636
必須だなんて書いてねー
AspectJスタイルのAOPを使ってる(Springから見て)アプリの一例としてあげただけ
638デフォルトの名無しさん:2011/11/10(木) 17:30:52.19
>>637
> AspectJスタイルのAOPを使って

使い必要あんの?
静的AOPなんでしょ
639デフォルトの名無しさん:2011/11/10(木) 18:09:40.47
Load-time weavingといってクラスロード時にバイトコード変換することもできる
ttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-aj-ltw
640デフォルトの名無しさん:2011/11/10(木) 19:06:25.45
cglibなんて使ってねーだろ! → 使ってました
そんなAOPねーよw → ありました
641デフォルトの名無しさん:2011/11/10(木) 19:49:37.62
必要な割には添付されてないんだよな
jar達が
642デフォルトの名無しさん:2011/11/10(木) 22:12:51.38
添付されてないんだよな →添付されてました。
643デフォルトの名無しさん:2011/11/10(木) 22:18:12.73
されてません
残念ながら
644デフォルトの名無しさん:2011/11/10(木) 22:27:13.34
されてません → されてました
645デフォルトの名無しさん:2011/11/10(木) 22:32:25.15
やっぱ無かった
646デフォルトの名無しさん:2011/11/10(木) 22:48:29.73
>>639
SpringとAspectJの連携は解りにくいからね
AOPの定義にAspectJのアノテーションや記法を使うだけで、AspectJのweavingは使わないやり方と
全部AspectJに任せてしまうやり方の2パターンあるし
647デフォルトの名無しさん:2011/11/10(木) 22:57:48.23
>>646
よかった、こんなスレでも話の通じる人がちゃんといるんだな
細かく分けると3パターン
・Proxyスタイル+Springポイントカット
・Proxyスタイル+AspectJポイントカット
・AspectJスタイル
648デフォルトの名無しさん:2011/11/10(木) 22:58:24.21
>>641
つMaven
649デフォルトの名無しさん:2011/11/10(木) 23:02:00.97
>>647
肝心のCGLIBでAOPが抜けてるだろw
650デフォルトの名無しさん:2011/11/10(木) 23:18:13.70
>>649
それはProxyスタイルに含まれる
お前>633だろ?AspectJスタイルのAOPがあることは認めたのか?
651デフォルトの名無しさん:2011/11/10(木) 23:22:18.60
>>650
別人だが

> Proxyと
> CGLIB
で全然違うぞw
652デフォルトの名無しさん:2011/11/10(木) 23:27:43.30
見分けが付かないんでしょw
653デフォルトの名無しさん:2011/11/10(木) 23:31:42.79
>>651
そりゃ失礼、あまりにそっくりだったんで

CGLIBもProxyを作るんだよ
だからJDK動的ProxyとCGLIBをひっくるめてProxyスタイル
ttp://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop.html#aop-proxying

なんでドキュメントも見ずに大口叩くかね?
654デフォルトの名無しさん:2011/11/10(木) 23:41:11.81
>>653
> Proxyスタイル

そんな分類するとかアホですか?
AOPをどうやって実現するかで分類すべきだろ

んなこと言い出したらAspectJだって
やってることはプロキシの役割だろ
655デフォルトの名無しさん:2011/11/10(木) 23:47:07.75
>>654
> そんな分類するとかアホですか?

Springsourceの人に言ってくれ

> んなこと言い出したらAspectJだって
> やってることはプロキシの役割だろ

違う。だからドキュメント読んでから大口叩けって

Finally, it must be noted that AspectJ does not have this self-invocation issue because it is not a proxy-based AOP framework.
656デフォルトの名無しさん:2011/11/10(木) 23:47:34.29
>>654
それはSpringに言えよw

AspectJはクラス自体を変えてしまうからProxyではないような
657デフォルトの名無しさん:2011/11/10(木) 23:59:55.25
>>656
プロキシでもクラス自体は別になる
普通のインスタンスとは違う
658デフォルトの名無しさん:2011/11/11(金) 00:04:07.27
バイトコードレベルで変更する
点で見るならjava Proxyも同じことをしてると思われる
戻ってきたインスタンスを良く見れば元々のクラス構造とは別になっている$hというのが証拠だ
659デフォルトの名無しさん:2011/11/11(金) 00:06:03.85
>>657
そういう意味じゃなくて、クラスそのものを弄ってしまうということ
CGLIBやjavassistで拡張されたものは元のクラスの継承クラスとしてClassLoaderに登録されるけど
AspectJでは、元のクラスそのものが拡張されて登録される
660デフォルトの名無しさん:2011/11/11(金) 00:11:37.61
>>658
JDK動的Proxyに元々のクラスはない。実装するインターフェースがあるだけ
java.lang.reflect.Proxy.getProxyClass()を見てみな
Springは元々のクラスが実装しているインターフェースをそいつに渡してるだけでクラスは渡さない
661デフォルトの名無しさん:2011/11/11(金) 00:17:51.28
>>660
お前何を言ってるんだ?w
たぶんコードすら追ったことがないんだろうがw
ちゃんとproxyクラスで処理されてるよカス
662デフォルトの名無しさん:2011/11/11(金) 00:21:33.50
>>659
> クラスそのものを弄ってしまうということ

言っている意味がわかってるのか?
CGLIBやjavassistのバイトコード操作は
全く別のクラスとして生成されることぐらい知らないようだが

そもそもクラスファイルの構造すら知らないだろうが
663デフォルトの名無しさん:2011/11/11(金) 00:23:43.15
>>662
いや、だから別のクラスとして登録されるって言ってるだろ・・・
クラスそのものを云々はAspectJの話だぞ
664デフォルトの名無しさん:2011/11/11(金) 00:24:57.18
>>661
日本語が通じないタイプか
コードを追う前に(それもできてるか怪しいが)文脈を追ってからレスしろ
>>660>>658への返答だ。後はわかるよな?
665デフォルトの名無しさん:2011/11/11(金) 00:25:24.97
> CGLIBやjavassistで拡張されたものは元のクラスの継承クラスとしてClassLoaderに登録されるけど

全然違うんだがw

「継承クラスとしてClassLoaderに登録される」って
いい加減なことを書かれたら困る
666デフォルトの名無しさん:2011/11/11(金) 00:27:16.79
>>665
まちがってるものを「間違ってる」というより
長文になってもいいから正解を書いたほうがいいのでは
667デフォルトの名無しさん:2011/11/11(金) 00:27:47.66
>>662も日本語が通じてないな。>>661と同一か
このスレはダメかもしれんね。過疎ってた方がましだったな
668デフォルトの名無しさん:2011/11/11(金) 00:31:12.71
>>665
アホはスルーで良いんじゃないですか?
669デフォルトの名無しさん:2011/11/11(金) 00:32:15.71
たぶん >>666 は自演だろうな
こういう基地害が湧き出したらスレの終焉だわ
670デフォルトの名無しさん:2011/11/11(金) 00:35:39.25
自分の間違いを指摘されたからファビョってるんじゃね?
671デフォルトの名無しさん:2011/11/11(金) 00:43:29.70
ttps://src.springframework.org/svn/spring-framework/trunk/org.springframework.aop/src/main/java/org/springframework/aop/framework/Cglib2AopProxy.java
Cglib2AopProxy#getProxy(ClassLoader classLoader)から抜粋

Class rootClass = this.advised.getTargetClass(); //これが元のクラス
Class proxySuperClass = rootClass; //元のクラスと同じ
if (ClassUtils.isCglibProxyClass(rootClass)) {
//元のクラスが既にCGLIBでエンハンスされてた場合なのでここは無視
}
enhancer.setSuperclass(proxySuperClass); //元のクラスをスーパークラスに設定
proxy = enhancer.create(); //動的にクラスを生成

CGLIBによって作られるクラスは元のクラスを継承したクラス
よって>>659は正しい
俺は>>659じゃないけど検証終わり
672デフォルトの名無しさん:2011/11/11(金) 00:48:35.32
CGLIBしかコード見てないのに正しいとか言ってる奴がいるんだが
javassistは一切検証なしかよ。それで技術者と思ってる?
673デフォルトの名無しさん:2011/11/11(金) 00:51:22.23
>>672
Spring AOPはJavassistを使ってないからここで検証する必要がない
以上
674デフォルトの名無しさん:2011/11/11(金) 00:57:39.89
>>659
> そういう意味じゃなくて、クラスそのものを弄ってしまうということ
> CGLIBやjavassistで拡張されたものは元のクラスの継承クラスとしてClassLoaderに登録される

ふーん、ハッキリと書いてるのにねぇ
675デフォルトの名無しさん:2011/11/11(金) 01:04:49.59
確かにjavassistも元のクラスを継承するって書いてるな
未だに訂正ナシ
676デフォルトの名無しさん:2011/11/11(金) 01:06:36.36
Seasar2はJavassistでサブクラスを作ってる
677デフォルトの名無しさん:2011/11/11(金) 01:09:15.90
>>675
>>626>>633も訂正してないな
678デフォルトの名無しさん:2011/11/11(金) 01:10:09.60
また自演かよw
679デフォルトの名無しさん:2011/11/11(金) 01:30:40.86
たぶん一人だろうな
680デフォルトの名無しさん:2011/11/11(金) 07:35:50.55
訂正まだですか?
681デフォルトの名無しさん:2011/11/11(金) 08:09:56.33
getProxyClassってproxyClassの話してるんじゃないの?
682デフォルトの名無しさん:2011/11/11(金) 13:33:25.02
ここのところ Spring スレは閑古鳥が鳴いていたので、
こういう流れとはいえ、スレがにぎわうのはうれしい。
自分も勉強になるからもっとやってくれ
683デフォルトの名無しさん:2011/11/11(金) 14:59:40.09
喧嘩しながらでも有効なスレ進行だな
684デフォルトの名無しさん:2011/11/11(金) 15:22:37.93
>>682
おまいが何か話題ふれよ
685682:2011/11/11(金) 15:59:59.13
>>684
実は、おれ >>625 なんだなw
最初は喧嘩が始まって、なんか申し訳なくなったが、
javassist との流れを読んで勉強になった。
686デフォルトの名無しさん:2011/11/11(金) 16:38:04.35
おまいか発端は!
でも俺もその辺の知識が整理できて良かったw
687デフォルトの名無しさん:2011/11/11(金) 20:32:35.71
>665
> > CGLIBやjavassistで拡張されたものは元のクラスの継承クラスとしてClassLoaderに登録されるけど
>
> 全然違うんだがw
>
> 「継承クラスとしてClassLoaderに登録される」って
> いい加減なことを書かれたら困る

CGLIBでは「継承クラスとしてClassLoaderに登録される」ってことが
検証されてるから>665と同調した>668は訂正しろ
688デフォルトの名無しさん:2011/11/11(金) 20:39:46.92
もういないでしょ
689デフォルトの名無しさん:2011/11/11(金) 20:53:46.31
> CGLIBでは「継承クラスとしてClassLoaderに登録される」ってことが

それって単なる動的拡張でしょ
継承してサブクラスとして作られてるワケじゃないぞ
690デフォルトの名無しさん:2011/11/11(金) 21:18:10.05
動的に継承構造を作り上げてるだけで、
そうやってできたものは、ちゃんとサブクラスになってる。
コード読めよ馬鹿。
691デフォルトの名無しさん:2011/11/11(金) 21:32:17.29
各人が勝手なコンテキストで語るから混乱するという典型だね。
SpringはCGLIBのEnhancerというクラスを使っている。
そのJavadoc。
ttp://cglib.sourceforge.net/apidocs/net/sf/cglib/proxy/Enhancer.html

Generates dynamic subclasses to enable method interception.

このとおり、これは動的にサブクラスを作る。
SpringはJavassistを使わないが、同時に利用されることが多いHibernateは
JavassistのProxyFactoryを使うこともできて、これもサブクラスを作る。
(ProxyFactoryはHibernateが元々使っていたCGLIBのEnhancerと切り替えて
使えるように追加されたものなので使い方はよく似ている)

SpringやHibernateでの使い方に限定すればこれらはサブクラスを作って
ClassLoaderにロードするので>>659は正しい。

ただしCGLIBはEmitter、JavassistはCtClassなどを使うことで、クラスファイルから
読み込んだバイトコードを直接変更することもできる。
このコンテキストでは>>659は正しくない。
692デフォルトの名無しさん:2011/11/11(金) 21:35:00.59
誰か、各単語(CGLIBとか)がどういったものなのか
簡単にまとめてくれ。
なにがなんなのかわからん。
693デフォルトの名無しさん:2011/11/11(金) 21:58:03.63
>>690
CGLIBのコードまで読んだわけじゃないのに
雑魚が語るなよw
694デフォルトの名無しさん:2011/11/11(金) 22:03:47.08
>>691
なるほど、そういうことだったのね
JavassistやCGLIBを利用するときは
低レベルでのバイトコード操作がデフォルトだと思っていたよ

・enhancerを使う = プロキシ的に使用する
・ctclassを使う = バイトコードを直接変更する

という理解でOK?
695デフォルトの名無しさん:2011/11/11(金) 22:14:39.35
>>694
うむ。だいたいOKだ。
696デフォルトの名無しさん:2011/11/11(金) 22:21:56.10
「雑魚」が好きな口の悪い人は役に立つ説明してくれないおね
697デフォルトの名無しさん:2011/11/11(金) 22:25:32.44
ところでspring標準はJdkDynamicAopProxyなんだが
何の設定もせずにapplicationContext.xmlを記述すると
これに強制選択になるのかな?

パフォーマンス上の理由などでCglib2AopProxyを使いたい場合に
明示的に指定することは出来るのかな?
698デフォルトの名無しさん:2011/11/11(金) 23:02:32.51
699デフォルトの名無しさん:2011/11/11(金) 23:12:07.27
それを何処にかくの?
700デフォルトの名無しさん:2011/11/11(金) 23:18:04.71
ん?違うだろ
インターフェースが必要かどうかの設定であって
CGLIBを使用するかどうかの記述とは違うだろ
701デフォルトの名無しさん:2011/11/11(金) 23:19:45.67
702デフォルトの名無しさん:2011/11/11(金) 23:51:33.43
>>692
CGLIBやJavassistはバイトコード(クラスファイルの中身)を操作するライブラリ
代表的なのはこの3つ

・ASM
ttp://asm.ow2.org/
低水準なライブラリ
JVM言語の処理系では自作を除けばこれが定番
Java7リリース前からinvoke dynamic に対応するなどJSR292チームと連携して開発されてる

・CGLIB
ttp://cglib.cvs.sourceforge.net/viewvc/cglib/cglib/
ASM上に作られたやや高水準のライブラリ
SpringやHibernateで使われたため有名だが開発は停滞してる
Springが依存するcglib-nodep-2.2.jarにはASMのクラスファイルが含まれてる

・Javassist
ttp://www.csg.is.titech.ac.jp/~chiba/javassist/
東工大の千葉先生が開発した高水準のライブラリ
現在はJBossでメンテされてる
HibernateやSeasar2で使われてる

これらを使うと動的にクラスを作ったり、クラスファイルを読み込んで
フィールドやメソッドの追加、メソッドの書き換えができる
703デフォルトの名無しさん:2011/11/12(土) 06:35:41.41
最近議論が濃密になってきて嬉しい過疎スレだったのに
704デフォルトの名無しさん:2011/11/12(土) 16:52:17.08
mavenの使い方わかんねー
705デフォルトの名無しさん:2011/11/12(土) 16:58:45.89
え?メルヘブン?
706デフォルトの名無しさん:2011/11/12(土) 17:09:29.20
eclipsとmaven統合したいんだけど
何処見ればいい?
707デフォルトの名無しさん:2011/11/12(土) 17:16:11.61
mavenの本が一応でてるが古いな…
708デフォルトの名無しさん:2011/11/12(土) 22:03:54.67
なんのこっちゃ
709デフォルトの名無しさん:2011/11/12(土) 22:16:00.26
これって
jdk1.7 の機能を使ってんのか?
コンパイル通らんのだがw
710デフォルトの名無しさん:2011/11/12(土) 23:10:01.52
2.5まではJDK1.6でコンパイル通るのに

3系に上げたらコンパイル通らんね、JDK1.7の機能使ってるみたいだ
つーか1.7って、まだ正式リリースされてないのに
何で使ってるんだよ?w
711デフォルトの名無しさん:2011/11/12(土) 23:27:45.07
>>710
とりあえず3.0.6は使えてるぞJDK1.6.29
3.1系はしらん
712デフォルトの名無しさん:2011/11/12(土) 23:31:19.96
3.1.0.RC1はエラーでるわ

安定してないバージョンなのかな?
713デフォルトの名無しさん:2011/11/12(土) 23:32:17.88
1.7リリースしただろ。
714デフォルトの名無しさん:2011/11/12(土) 23:45:08.76
まだ正式リリースじゃないよね?
715デフォルトの名無しさん:2011/11/12(土) 23:53:46.08
これのことだろ

>>710
> つーか1.7って、まだ正式リリースされてないのに
> 何で使ってるんだよ?w

Java7はとっくに正式リリース済みだよ
Spring3.1.0.RC1はJava7のfork/joinを使ってるんだな
Java6ではjsr166yのjarをクラスパスに通せばいいんじゃないか?
716デフォルトの名無しさん:2011/11/12(土) 23:57:42.16
oracleのサイトにいったら
まだ取得できなかった
開発版いってくれとか書いてあったよ
717デフォルトの名無しさん:2011/11/13(日) 00:05:12.12
Java 7 update 1すら出てるけど
718デフォルトの名無しさん:2011/11/13(日) 00:05:28.68
ttp://www.oracle.com/technetwork/java/javase/downloads/index.html
もうUpdate1になってるよ。Macの人は残念でした
719デフォルトの名無しさん:2011/11/13(日) 00:17:47.77
あー、Macだけはまだでてないのかw
720デフォルトの名無しさん:2011/11/13(日) 00:24:31.48
まだというかOracleはもう出さないでしょ。出るのはOpenJDKのじゃないの。
721デフォルトの名無しさん:2011/11/13(日) 00:43:04.28
いや、Oracleから出すと発表されてる。実際プレビュー版があるわけだし
もう出さないのはApple
722デフォルトの名無しさん:2011/11/13(日) 00:55:30.91
http://java.com/ja/download/faq/java7.xml
Java SE 7 を Java.com でまだ入手できない理由
Java の最新リリースは、まず開発者に利用してもらって大きな問題が発生しないようにしてから、Java.com Web サイトでエンドユーザーに公開されます。


--------------------------------------------------------------------------------


とあるんだが
java.comでリリースされて初めて正式リリースじゃねーのか?


723デフォルトの名無しさん:2011/11/13(日) 01:35:20.79
開発者を対象に人柱じゃね?
724デフォルトの名無しさん:2011/11/13(日) 07:47:54.92
開発専用ダウンロードだろ
725デフォルトの名無しさん:2011/11/13(日) 09:16:59.88
一般向けの開放じゃないでしょw
726デフォルトの名無しさん:2011/11/13(日) 10:01:10.39
Java.comに出てない=正式リリースとは呼べんな
727デフォルトの名無しさん:2011/11/13(日) 11:58:45.80
正式リリースなんてオレオレ用語を使うから混乱する

・Java7は2011/07/28にリリースされた
・java.comでの一般向けダウンロードはまだ

Springは開発者が使うものでお前らも開発者だろ?
そんじゃーね
728デフォルトの名無しさん:2011/11/13(日) 12:03:04.06
一般向けじゃない時点で
まだまだバグ等が潜在してる可能性があるということだ

客先のシステムで使えるかね?
どんな不具合が潜在してるのかも知れんのに、責任取れんぞ!

自分の開発環境なら入れて使えるが、自己責任だからな
729デフォルトの名無しさん:2011/11/13(日) 12:08:19.56
Spring3.1もリリース前なのになに言ってる?w
730デフォルトの名無しさん:2011/11/13(日) 12:17:17.18
Spring3.1など実際の案件で使う馬鹿を相手にするなよw
731デフォルトの名無しさん:2011/11/13(日) 12:21:09.32
>>728
たしかに一般向けでない状態をリリースとは呼べんな
732デフォルトの名無しさん:2011/11/13(日) 12:34:42.82
>>730
>>709からずっとその馬鹿に釣られっぱなしじゃないかw
733デフォルトの名無しさん:2011/11/13(日) 12:40:27.87
>>728
そりゃjava7を実際に使うのは
チャレンジャーというよりも無謀だろ
734デフォルトの名無しさん:2011/11/13(日) 12:48:56.98
>>728
だからリリースとは呼べないね
735デフォルトの名無しさん:2011/11/14(月) 23:12:41.35
まぁそうだが
736デフォルトの名無しさん:2011/11/15(火) 00:04:48.71
最近Springって流行りなの?

Springと他になにが流行ってるの?
737デフォルトの名無しさん:2011/11/15(火) 09:05:20.37
springどころか
java案件さえも聞かないなぁ
738デフォルトの名無しさん:2011/11/15(火) 09:54:39.72
業務系ではいまでもJavaが多いと思うけどね。

流行り廃りというより、良くも悪くも、JavaがかつてのVB6と同じような位置になっていくと思う。
739デフォルトの名無しさん:2011/11/15(火) 19:50:24.87
>>737
じゃあ何の案件を聞くの?
740デフォルトの名無しさん:2011/11/15(火) 22:43:16.25
.net、PHPが多いな
PHPなんぞ、安かろう悪かろうだと思うんだがな
話聞くとメンテできなくて困ってるっての多いし
741デフォルトの名無しさん:2011/11/16(水) 00:05:16.21
SpringはあまりみかけないがSeasarはここ2,3年多いみたい
案件で人かき集めるときにスキルシートみてたらゴロゴロいた

>>738
うちの周辺はVB6は.Netになってる感じだな
Javaはサーバサイド以外みたことない
742デフォルトの名無しさん:2011/11/16(水) 00:15:58.85
でもSeasarって日本専用みたいな感じでしょ?
たとえば海外に発注するときを考えれば、Springの方が良くないか?
743デフォルトの名無しさん:2011/11/16(水) 07:20:25.08

ロッドジョンソンがstrutsに失望して
構想を練りに練った結果、生み出された待望のspring mvc

しかし
spring mvcって洗練されてるとは到底思えんが・・・
strutsに比べて何が優れてるんだ?
744デフォルトの名無しさん:2011/11/16(水) 08:07:52.10
view が選べるところ
745デフォルトの名無しさん:2011/11/16(水) 09:53:44.72
example-servlet.xmlがないって怒られるんだが
この名前って絶対に決まってるの?
746デフォルトの名無しさん:2011/11/16(水) 21:43:38.63
>>744
ロジック中に書くのが優れてるのか?w
どこが?
747デフォルトの名無しさん:2011/11/16(水) 22:13:47.38
画面のパラメーターを
格納するモデルクラスを一々作るのが面倒なんだが
洗練されてるというなら原始的な人海戦術を要求するなよ
748デフォルトの名無しさん:2011/11/16(水) 22:14:52.41
画面作った瞬間に
モデルクラスを自動生成されるような仕組みぐらい作っておけよな
749デフォルトの名無しさん:2011/11/16(水) 23:09:38.82
>>747
あ、そういう考え方の人なんだね。わからなくはないよ。パラメータを入れる変数を作らずに
ハッシュのキーとして扱えば、いちいち作らなくていい。動的型付け言語の文化はそんなのが多いね。

でも、その考え方は大規模になってくると、影響範囲がわかりづらくなってメンテナンス性が大きく落ちることになる。
「サンプルのためエラー処理を省いています」レベルだと差を感じるかもしれないけど実際の開発では開発効率も大して変わらないんだよ。
なぜなら最初に準備するか、あとでやる(サンプルで省いてる部分)かの違いでしかないから。

具体的な話をすると、君は「パラメータを格納するモデルクラス」と言ったね?
違う。これは受け取るパラメータのインターフェースと考える。(JavaのInterfaceの事じゃなくて)

これがあることで、画面から受け取る値はこれですよ。とコード上に仕様を明確に書くことが出来る。
それ以外の値を受け取らないから、不正なデータを送ってデータ書き換えとかも起こらない。
また変数の型、入力値チェックをアノテーションで表現することも可能になる。

そしてなにより、コーディングの際、変数名入力という”人海戦術”を補完で軽減することが出来る。
パラメータを文字列で扱うとタイポしちゃうからね。
画面のパラメーター(インターフェース)が変わったらときもその影響箇所を即座に把握できる。

モデルクラスの作成はそれらのメリットを得るための、準備と考えればいいよ。
どっちみちパラメータ名を全く入力しないで開発なんてできないんだから、
一度やるだけであとの入力が簡単になる方がいいよね?
750デフォルトの名無しさん:2011/11/16(水) 23:16:34.52
>>749
いいたいことはわかるが
ならばstrutsに比べて特に優位性がないな
既に数年も前からstrutsではバリデーション定義で自動的に入力チェックしてくれたり
完成度は高かった
チームでの開発にも充分な機能を提供してくれていた
例に挙げてるような話も含む

そう考えると今なぜspring にする必要がわざわざあるのだ?
素朴な疑問が湧いてきたんだがね
751デフォルトの名無しさん:2011/11/16(水) 23:19:00.86
>>748
画面にあるフィールド=モデルのフィールドではないので・・・。

マスタメンテみたいなつまらない単純なフォームならそれでもいいけど、
Ajaxとか使ったリッチインターフェース作るときに、
画面作ったら・・・とかあまり便利さを感じない。

必要なら、自動生成ツール作ればいいし。
コードのテンプレート用意して、パラメータ与えるだけでしょ?

でも自動生成はやってることはコピペと変わらんから好きじゃないけどね。
Railsバージョン○でscaffoldに新しい機能が加わりました・・・って
既存の自動生成コードどうすんのよ? たくさん生成した自動生成コード全部書き換え? みたいなw
752デフォルトの名無しさん:2011/11/16(水) 23:25:22.97
>>751
> 画面にあるフィールド=モデルのフィールドではないので・・・。

ほぼ一致するだろ
逆にイコールでないケースの方が稀だ
753デフォルトの名無しさん:2011/11/16(水) 23:32:00.88
>>750
考え方の違いかな。

strutsはWebアプリケーションフレームワーク。
ウェブがあってそこからパラメータが渡ってきて、
それを使うため、strutsのコンポーネントを継承して作った
コントローラからデータを読み書きして・・・って

まあこんな感じの開発でしょ?これだとテストがしにくくなる。
テストしやすいように部分ごとにPOJOで作ってロジックを作り上げて、それをspringでつないで
最後にウェブ用のインターフェースを作る。(ついでにスマホ用REST APIも作るw)みたいな
やり方だと、ウェブ用のインターフェースに必要な機能は少なくなる。

となると、strutsは余計な機能てんこ盛り。ってなっちゃうんだ。
もともとstrutsだけで全部作れるようになってるから、何でもできちゃう=アーキテクチャ的に
良くない書き方もできてしまう。(ロジックからセッション直接弄ったり、各クラスの責務がごちゃごちゃしてるもの)

そこらへんを見なおして、Springベースで綺麗な設計にしたのがSpring MVCだと思うよ。
754デフォルトの名無しさん:2011/11/16(水) 23:56:37.75
>>749 >>753
4年前の俺がいる

まぁ何でもかんでも DTO(Data Transfer Object)があれば
タイプセーフにできるけど、納期と規模と人数とのトレードオフだな。

「Spring は綺麗な設計」はその通りだと思うが、
綺麗な設計 と 簡単/速くできる はイコールではない。

まぁ「考え方の違いかな。 」
755デフォルトの名無しさん:2011/11/17(木) 22:23:59.97
画面遷移情報をbean定義ファイルに書くのはいいんだが
コントローラーの同じ属性レベルに画面jspとコマンドクラスとか対象のビジネスロジックとか
全部同列に定義するのは非常に見にくいと思うぞ

strustは
<action path= の中に画面遷移情報を書くから
非常に見やすい
756デフォルトの名無しさん:2011/11/17(木) 22:54:29.66
>>754
急がば回れって知ってる?

俺は静的型付け言語から始まって、動的型付け言語を使って、
それでも静的型付け言語の方が最終的には納期が
短くなると結論づけた立場だから。

まあ、見切り発射で最初から最後まで終わる様な所ならそれでいいんじゃない?
納品して糞コードとお別れ出来るなら、最初に作る意味は少ないかもね。
こっちは、ずっとメンテナンスしていかなきゃならないものを作ってるからね。
757デフォルトの名無しさん:2011/11/17(木) 22:55:56.90
>>755
> コントローラーの同じ属性レベルに画面jspとコマンドクラスとか対象のビジネスロジックとか
> 全部同列に定義するのは非常に見にくいと思うぞ
どんなフレームワークでも、正しく使っていれば分かれてるだろw
758デフォルトの名無しさん:2011/11/17(木) 23:42:30.40
>>756
>急がば回れって知ってる?

これ、もう10数年前に通り過ぎた(w
759デフォルトの名無しさん:2011/11/17(木) 23:42:55.06
>>757
> どんなフレームワークでも、正しく使っていれば分かれてるだろw

馬鹿がいるようだなw
たぶん >>755の文意が読み取れないような猿のようだw
760デフォルトの名無しさん:2011/11/17(木) 23:44:30.69
さて、誰か>>755の文章を解説してくださいな。

>>759(本人)以外で。
761デフォルトの名無しさん:2011/11/17(木) 23:47:55.27
>>759
そうだね
こういう馬鹿は文章さえも読めない落伍者だからスルーで良いんじゃね
たぶんspringさえマトモに使えないカスだろうし
762デフォルトの名無しさん:2011/11/17(木) 23:49:32.22
また喧嘩が始まったのか
763デフォルトの名無しさん:2011/11/17(木) 23:51:30.03
本人以外誰もわからん文章を書いておいて、
わからない奴が悪いとか言い出すようなやつだからな。
764デフォルトの名無しさん:2011/11/18(金) 01:02:25.76
>>755
確かにspringはごった煮的な感じがするね
きたならしい設定ファイルになりそうだ
765デフォルトの名無しさん:2011/11/18(金) 01:07:33.52
>>755
同意
これがわからない人はMPCやったことない雑魚だと思う
766デフォルトの名無しさん:2011/11/18(金) 01:28:50.18
springを理解出来ないおろか共ばかりw
767デフォルトの名無しさん:2011/11/18(金) 07:14:37.56
誰にもわかってもらえないなんて(´・ω・) カワイソス
768デフォルトの名無しさん:2011/11/18(金) 10:16:22.50
>>765
無知で恥ずかしいが質問。 MPC ってなに?
MVC ではないよね?
769デフォルトの名無しさん:2011/11/18(金) 12:35:11.67
commandClassと書くのに
実質はモデルクラスなのは変だな
770デフォルトの名無しさん:2011/11/18(金) 12:52:38.00
>>769
FormBeanと名前を変えるべきだと思う
771デフォルトの名無しさん:2011/11/18(金) 16:17:15.18
>>769
しかも固定フィールドだしなw
どうなってんだか
772デフォルトの名無しさん:2011/11/18(金) 17:28:15.12
>>769
設計の稚拙さが露呈してますよね
773デフォルトの名無しさん:2011/11/18(金) 17:30:50.93
どんなのがいい設計なん
774デフォルトの名無しさん:2011/11/18(金) 17:41:06.23
>>769
名前がコマンドって何だよw
オワコンじゃねーかw
775デフォルトの名無しさん:2011/11/18(金) 18:56:38.46
>>772
Strutsの方が綺麗な設計だと思う
素直に
776デフォルトの名無しさん:2011/11/18(金) 21:36:56.04
spring jdbcって使うメリットがわからん
777デフォルトの名無しさん:2011/11/18(金) 21:40:11.46
>>776
sql直接書くだけならpure javaでやるほうが良いよね
何のメリットもないと思うよ
778デフォルトの名無しさん:2011/11/18(金) 21:46:45.16
ん? springってpure javaを便利に使えるようにするための
フレームワークなんだけど。

springがでてPOJOが有名になったでしょ。
779デフォルトの名無しさん:2011/11/18(金) 21:49:36.83
http://ameblo.jp/aac-sandi/entry-10041703889.html

Hibernateに代わるO/Rマッピングフレームワークにおいて、
SQLをゴリゴリ書くタイプとしてSpringJDBCがあるので紹介する。
その名の通り、Springフレームワークとの連携が容易なO/Rマッパーである。

SQLをゴリゴリ書くタイプとして
SQLをゴリゴリ書くタイプとして
SQLをゴリゴリ書くタイプとして
SQLをゴリゴリ書くタイプとして
SQLをゴリゴリ書くタイプとして
780デフォルトの名無しさん:2011/11/18(金) 21:59:26.83
>>778
変なFWを使うとエラー時に問題の切り分けが難しくなる
中で何をやってるのか不明だしな

まだエラーが出れば解決が早いが
エラーでなくて、意図した動作と違う動きをした場合の解決が極めて難しくなる
普通のjavaのjdbc直書きの方が安心だな
781デフォルトの名無しさん:2011/11/18(金) 22:26:23.71
>>780
SPRING JDBCなんて使ってる案件は無いって
単なる遊びだよ
782デフォルトの名無しさん:2011/11/18(金) 22:28:54.62
Spring MVCもSpring JDBCもバリバリに使っています(´・ω・`)
783デフォルトの名無しさん:2011/11/18(金) 22:35:43.99
今Springを開発で使うとしたら、Struts2かSpringMVCあたりが定番なのかな?
DB周りはHibernateかiBatis?
Java開発から離れているから最近の傾向とかよく知らない
784デフォルトの名無しさん:2011/11/18(金) 22:52:37.72
>>780
> 変なFWを使うとエラー時に問題の切り分けが難しくなる
> 中で何をやってるのか不明だしな

だから中=POJO=Pure Javaなんだが・・・
SpringはPure Javaを使って開発するものだぞ。
785デフォルトの名無しさん:2011/11/18(金) 22:53:50.74
普通のJavaのJDBCを使いたいのなら
使えばいい。Springの担当はそこじゃないので
Spring + JDBCでもぜんぜん問題ない。
786デフォルトの名無しさん:2011/11/18(金) 23:14:18.91
>>782
使うメリットがない
君は上の技術担当が決めたのを使ってるだけでしょw
787デフォルトの名無しさん:2011/11/18(金) 23:23:08.30
自分がSpringを選択しました(`・ω・´)
788デフォルトの名無しさん:2011/11/18(金) 23:30:31.22
SpringJDBCてSimpleJdbcTemplateとかのこと?
789デフォルトの名無しさん:2011/11/18(金) 23:30:46.74
どういうメリットがあっての選択なんだ?

まさか適当に選んだんじゃねーだろうなw
流行ってるから
とか言い出しそうで怖いなw
790デフォルトの名無しさん:2011/11/18(金) 23:40:22.36
>>788
そうそう
791デフォルトの名無しさん:2011/11/18(金) 23:41:05.86
>>789
適当に決まってんだろ
他フレームワークに対する優位性とか説明できると思うか?
792デフォルトの名無しさん:2011/11/18(金) 23:49:51.95
・DBのコネクション周りの処理がラク
・@Transactionalとの併用がラク
・SimpleJdbcTemplate, NamedJdbcTemplateにあるようなメソッドを自分で実装しなくていい
とかじゃね

いらないと思うならSpringのコミッターに
「これいらねーから次から外してくれ」とでも言えばいいんじゃない
793デフォルトの名無しさん:2011/11/19(土) 07:28:03.92
spring案件って
そのままspringフレームワーク使ってるの?

それともspringを拡張してspringの上に乗せるような社内フレームワークを構築して
それを使ってコーディングしてるの?
794デフォルトの名無しさん:2011/11/19(土) 09:46:42.83
spring を拡張って言った場合、Spring のコード自体に手を入れてなんちゃって意味なのか
そうでないのかで答えが違うと思うが。

ある程度の規模のもの作れば、なんらかのフレームワークにはなるだろうけど
Spring 自体に手を入れてるところはそうそうないんじゃないかと想像。
795デフォルトの名無しさん:2011/11/19(土) 10:01:44.66
「springを拡張してspringの上に乗せるような」って言ってるんだから、
Spring それ自体の改造って話じゃないだろ。
自分でインタセプタを作ったりしてるかというような話だろ。
実際、「Spring を使ってる」というっても、Spring をつかって構築された
フレームワークを使ってるだけで、DI機能は自分たちでは、
何も使ってないってケースもかなり多いような気がする。
796デフォルトの名無しさん:2011/11/19(土) 10:08:38.50
DIの特徴として
フレームワークを使って作ったものが
フレームワークに依存しないってのがあるんだけど。

つまりSpringとフレームワークは完全に無関係のものになる。
797デフォルトの名無しさん:2011/11/19(土) 11:09:16.26
>>794
> Spring のコード自体に手を入れて

既存の完成されたフレームワークを弄るとか
そんな馬鹿聞いたこと無いぞw
798デフォルトの名無しさん:2011/11/19(土) 11:10:38.10
>>795
DI機能使わないならSpringを乗せる意味ないじゃんw
799デフォルトの名無しさん:2011/11/19(土) 11:20:32.06
>>798
いや、でも、実際問題として、直接は使ってないケースって多くね?
トランザクション管理とか、データアクセスとか、出来合いの機能使うだけなら、
必ずしも自分でインタセプタとか書く必要ないし、 Spring 使うからといって、
無理に DI 使う必要はないでしょ(もちろん、出来合いの機能から間接的には使ってるんだけど)。
800デフォルトの名無しさん:2011/11/19(土) 11:34:45.76
SpringでDIを使わないって、
サービスオブジェクトに DAO クラスを setterインジェクションしないとか、
そういうこと?

Spring でDI しないっていう状況が理解できないのだが
(煽りではなく、どういう状況か教えてほしい)

801デフォルトの名無しさん:2011/11/19(土) 11:44:32.31
>>799
> トランザクション管理とか、データアクセスとか、出来合いの機能使うだけなら、

それもDIで管理されてるんだが
見えない所でコンテナベースに動いてるのがspringだよ
802デフォルトの名無しさん:2011/11/19(土) 11:58:54.19
AOPは既存のトランザクション使うくらいだが
DIは使いまくる。

>>797
確かにないっすね。
となると社内フレームワークってどんなもんなんだろう。
イメージがわかない。
803デフォルトの名無しさん:2011/11/19(土) 12:10:30.88
>>800
ああすまん。
「DIを使う」というのを「依存性注入のコードを書く」という意味で使ってたんだが、
そういう意味で解釈するのは一般的じゃなかったみたいだな。

804デフォルトの名無しさん:2011/11/19(土) 16:10:16.06
>>801
それは、
>(もちろん、出来合いの機能から間接的には使ってるんだけど)。
と、どう意味が違うの?
805デフォルトの名無しさん:2011/11/19(土) 17:47:01.12
>>802
たとえば俺々XMLスキーマ(<util:*>や<jee:*>のようなもの)を作る、
ApplicationContextAwareやBeanPostProcessorの俺々実装を作る、など。

>>803
生のSpirngを直接使ってても「依存性注入のコードを書く」ことはない。
せいぜいアノテーション付けるくらいだがそれも必須ではない。
Springはnon-invasiveなIoC(Inversion of Control)コンテナ。
806デフォルトの名無しさん:2011/11/19(土) 19:47:43.08
お、おう
さ、次の話題はなにかな?
807デフォルトの名無しさん:2011/11/19(土) 20:50:02.54

助けてくれ〜
エラーが出る

Caused by: org.springframework.beans.BeanInstantiationException:
Could not instantiate bean class [org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator]:
Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
808デフォルトの名無しさん:2011/11/19(土) 20:50:45.54

org/aopalliance/intercept/MethodInterceptor が無いって
怒られてるのか?
809デフォルトの名無しさん:2011/11/19(土) 22:14:16.59
810デフォルトの名無しさん:2011/11/19(土) 22:23:23.61
やっぱ英語のサイト読めなきゃダメなのかな?
springってアメリカ発だからなぁ

一方のシーサーは国産だからソースとかサンプルも日本語で読める
でも導入例も少ないし
サンプルのサイトの数も少ないから
何か詰まったときには解決するサイトが少ない⇒結局解決しない
811デフォルトの名無しさん:2011/11/19(土) 22:33:36.17
英文読解力は必須でしょ
812デフォルトの名無しさん:2011/11/19(土) 22:50:28.31
>>810
SeasarはMLで質問すればほぼ確実に答えてもらえる
解決するかどうかは別として
JSUGにQ&A用のフォーラムかMLほしいね
813デフォルトの名無しさん:2011/11/20(日) 00:04:39.96
>>812
日本Springユーザ会 ML あるじゃん
メールの量はとても少ないから、質問流せばすぐに答えてくれると思うよ
814デフォルトの名無しさん:2011/11/20(日) 00:15:59.70
>>813
あるのはもちろん知ってるけど、ユーザーグループの運営用みたいで
質問しにくいんじゃないかってこと
815デフォルトの名無しさん:2011/11/20(日) 01:05:35.54
流通量も少ないし、別に質問しにくいってことはないと思うよ
他の言語コミュニティと違い、Springユーザ会は親切な方がおおいし
816デフォルトの名無しさん:2011/11/20(日) 01:17:26.75
だが現実は最近3年で技術的な質問は今年3月の1件だけ、しかもリプ無し
>>807みたいにちゃんと環境も作れない人が質問できる場所には見えない
流通量が少なすぎるのも一因だろうけどね
817デフォルトの名無しさん:2011/11/20(日) 02:45:19.40
本件のフォーラムで質問した方が早いっていうか

英語必須でしょ?
リファレンス英語なんだし。
818デフォルトの名無しさん:2011/11/20(日) 02:55:55.45
英語読めない奴はspring諦めろってか?
819デフォルトの名無しさん:2011/11/20(日) 03:04:56.23
諦めたらそこでエンジニア廃業ですよ…
820デフォルトの名無しさん:2011/11/20(日) 03:05:58.15
こういう技術的な英語の文章って
翻訳サイトにかけても変な訳になっちまうんだよなw
821デフォルトの名無しさん:2011/11/20(日) 03:07:16.00
Oracleを神託に訳したり
Strutsを支柱と訳したり
そんなんばっかりだからワケがわからん訳文になる
822デフォルトの名無しさん:2011/11/20(日) 03:20:45.03
ふと思うんだが
struts+springでもDIコンテナは普通に使えるよな
Actionクラスの中でBeanを利用すればspringのトランザクション制御も使えるし
つまりspringMVCは特に必要ないと思われる
823デフォルトの名無しさん:2011/11/20(日) 07:21:44.72
824デフォルトの名無しさん:2011/11/20(日) 08:06:53.04
>>823
だから、ContextLoaderPluginで
struts+springでも起動時にDIコンテナは普通に使える
と言ってるんだが
825デフォルトの名無しさん:2011/11/20(日) 08:19:53.35
当たり前だろう。
strutsとspring mvcは同じ分野の機能を提供しているのだから。

struts + springでも
spring mvc + springでも
どちらの構成でも作れる。

ただし、strutsはspringを考慮して作られたわけじゃないから
余計な機能があったり、くっつけるための方法が存在したりといろいろ無駄な部分がある。

spring mvcなら最初からspringを考慮しているからシンプル。

頭が硬くなって覚えられないとか、struts以外に対応する余力がないのなら
strutsでもいいよ。ただし余計な物があって気持ち悪いだけ。
826デフォルトの名無しさん:2011/11/20(日) 08:29:04.83
>余計な機能があったり

なんだそりゃ?w
strutsほど洗練された最小限の機能は無いんだがね
「余計な機能」とやらを具体的に指摘してみろよ
827デフォルトの名無しさん:2011/11/20(日) 08:47:29.51
>>826
struts1、struts2、
どっちがいい?
828デフォルトの名無しさん:2011/11/20(日) 08:51:41.95
struts1で充分だろ
829デフォルトの名無しさん:2011/11/20(日) 10:24:29.49
日本語情報ないからstruts1から抜け出せない。

技術不足が原因なんだが、


認めたくないよねw
830デフォルトの名無しさん:2011/11/20(日) 17:42:40.53
難しいな
831デフォルトの名無しさん:2011/11/20(日) 17:45:07.93
>>829
おい馬鹿

さっさと
strutsの「余計な機能」とやらを具体的に指摘してみろよ

説明も出来ない馬鹿の分際で
struts2を進めて更に余計な機能を付与したいのか?w

矛盾しまくりのボケがw
832デフォルトの名無しさん:2011/11/20(日) 17:54:34.69
>>831
> おい馬鹿
> 矛盾しまくりのボケがw
このあたりが余計かな
833デフォルトの名無しさん:2011/11/20(日) 17:56:23.51
>>831
指摘内容は正しいが
もうちょっと丁寧にw
834デフォルトの名無しさん:2011/11/20(日) 18:20:03.84
>>831
Red Johnsonの考えという話でいいなら、少し古いけど
"Expert One On One J2ee Design And Development"の12章4節あたりから書いてある
英語版はpdfが落ちてる、日本語翻訳版は古本屋さがせばある

まあ、上の時点でSpringはまだリリースされてないし、Strutsも1.1ベータなんで
今の事情が知りたいなら本家フォーラムで質問してみたらいいんじゃない
835デフォルトの名無しさん:2011/11/20(日) 18:38:05.74
はぁ?
俺は >>825 の馬鹿に直接詰問してるんだがw
なんで英語のPDFを読まなきゃならんのだ
さっさと答えろよ
836デフォルトの名無しさん:2011/11/20(日) 18:49:59.16
>>835
50pもないからスグ読めるよ
暇つぶしにどぞ
837デフォルトの名無しさん:2011/11/20(日) 19:31:20.16
そもそもURLもない時点で話にならんww
838デフォルトの名無しさん:2011/11/20(日) 21:54:58.50
springトランザクションって実際に使ってるの?
直接コミットしたり例外処理でロールバックした方がすっきりするんだが
839デフォルトの名無しさん:2011/11/20(日) 22:33:21.35
えっ
840デフォルトの名無しさん:2011/11/20(日) 23:25:12.92
宣言的トランザクション使いたいだけで使ってる。
ストラテジーパターンとかモッククラスと入れ替えで
使うだけなら別にDIなくてもいい。
841デフォルトの名無しさん:2011/11/20(日) 23:28:55.44
DIが便利なのは、
あるクラスから、別のクラスを利用しているとき、
その別なクラスを、テスト用のクラスに簡単に置き換え可能なところでしょ。

たとえばクラスにprivate HogeHoge hoge;ってあったとき、
privateなのに外部からDIでオブジェクト入れ込めたり、
テストではそのままでテスト用オブジェクトを入れ込めたり。

パブリックにする必要がないものを、しなくていい、
テストのためにへんなことしなくていい、理想通りのクラス設計が出来る。
842デフォルトの名無しさん:2011/11/21(月) 01:18:42.30
> たとえばクラスにprivate HogeHoge hoge;ってあったとき、
> privateなのに外部からDIでオブジェクト入れ込めたり、

おまえprivateにする意味が全然わかってねーだろ
外部から値をいじられたら困るからprivateに設計してるのに
なんでDIで弄ろうとするんだよ
843デフォルトの名無しさん:2011/11/21(月) 01:36:43.84
>>842
privateにするのは、アプリとして動かしているとき。
テストを実行しているときは、アプリとして動かしているわけじゃないので
その前提は覆る。

立入禁止と書いてあっても、それは一般人のためであって、
調査をする人は入るんだよ。

そもそもなんでSpringにprivate変数に値をインジェクションする機能が
テスト用ライブラリの一機能として用意されてると思ってるんだ?
使うためだぞ。
844デフォルトの名無しさん:2011/11/21(月) 01:45:37.53
>>843
privateアクセスの
テスト用ならJUNITでやればいいだろうがw
なんでDIじゃないと出来ないとか思ってるんだよ底辺w
845840:2011/11/21(月) 01:46:30.57
趣味グラマーのソースにストラテジーやモックの挿しかえる種類は
ごくわずかしかない上にユニットテストなんて全くしないんで
トランザクション境界だけspringでオブジェクト作ってます。

CDIもトランザクション管理するならEJBコンテナ必須でしょ?
設定ファイルの形式がころころ変わるJBossとか嫌だもんね。
846デフォルトの名無しさん:2011/11/21(月) 01:47:25.61
馬鹿がいるみたいですね
privateテスト用にDIのトランを使うとか
言ってる幼稚な頭のなかを見てみたいですなw
847デフォルトの名無しさん:2011/11/21(月) 01:52:01.78
目的を満たせばなんでもいいだろ
848デフォルトの名無しさん:2011/11/21(月) 02:13:49.16
>>844
JUnitにprivateにアクセスする機能はないぞ。
使ったことがないなら無理するなよ。
849デフォルトの名無しさん:2011/11/21(月) 02:38:28.93
テストが必要なら private にせずクラスに切り出して
interface定義してテストしようぜよ。
850デフォルトの名無しさん:2011/11/21(月) 02:40:20.51
>>848
> >>844
> JUnitにprivateにアクセスする機能はないぞ。
> 使ったことがないなら無理するなよ。

www
どんだけ素人なんだよwww
851デフォルトの名無しさん:2011/11/21(月) 02:41:19.36
>>849
一匹の厨房相手にするのは止めようぜw
言ってることが支離滅裂だし
時間の無駄だわ
852デフォルトの名無しさん:2011/11/21(月) 02:43:17.88
>>845
> トランザクション境界だけspringでオブジェクト作ってます。

トランだけというのは嘘で
実際にはJDBCオブジェクトもspringの提供するやつを使ってることになる
853デフォルトの名無しさん:2011/11/21(月) 03:20:33.11
っていうかSpringに、private なフィールドへの変数【オブジェクト】を設定できる機能なんてあるの?
Java Security とかをのぞいて?

Spring だって、直接 private なフィールドへはアクセスできないから、
setter メソッド経由で setter インジェクションしたり、
コンストラクターインジェクションして設定するんじゃないの?
854デフォルトの名無しさん:2011/11/21(月) 03:34:54.45
あほがいるなw
教えないでおこうwww
855デフォルトの名無しさん:2011/11/21(月) 03:36:18.21
リフレクションがprivateにアクセスできるんだからできるんじゃないの?
856デフォルトの名無しさん:2011/11/21(月) 03:59:37.15
しー
馬鹿にヒントすら教えてやるなよ
857デフォルトの名無しさん:2011/11/21(月) 08:33:02.33
http://ja.wikipedia.org/wiki/JUnit
> JUnitはprivateメソッドをテストできないが、

>>853
> っていうかSpringに、private なフィールドへの変数【オブジェクト】を設定できる機能なんてあるの?
あるのは、privateなインジェクション用の変数に
インジェクションする機能。

> Spring だって、直接 private なフィールドへはアクセスできないから、
> setter メソッド経由で setter インジェクションしたり、
> コンストラクターインジェクションして設定するんじゃないの?

今はアノテーションでインジェクションする。
そのインジェクション先がprivateでも良いという話。
858デフォルトの名無しさん:2011/11/21(月) 08:33:25.84
@Inject private Hoge hoge;
メソッド書くの面倒だからアノテーションにしてる。
859857:2011/11/21(月) 08:38:52.17
なんか知らない人がいるみたいだから説明しておくと
今のSpringはインジェクション用のsetterをわざわざ書く必要はない。
860デフォルトの名無しさん:2011/11/21(月) 08:40:11.35
>>858
そうそう、それが出来るようになったのはいいが、
privateだとテスト用に別のオブジェクトをインジェクションできない。
ってなっちゃうから、Springはその方法を用意している。
861デフォルトの名無しさん:2011/11/21(月) 11:06:11.86
> privateだとテスト用に別のオブジェクトをインジェクションできない。
ここ変
862853:2011/11/21(月) 13:08:05.26
>>857-858
おー、しらんかった。どうもありがとう。

いつも setter インジェクションしかやってなかったが
(@Transactional 以外アノテーション使ってなかった)、
そういえば Spring 2.5 から アノテーションでいろいろできるようになったんだな。
@Component とか。
http://www.infoq.com/jp/articles/spring-2.5-part-1
863デフォルトの名無しさん:2011/11/21(月) 13:46:29.71
javaの作法的には全てsetterインジェクションが望ましいはず。
俺は無視するけどね。
864デフォルトの名無しさん:2011/11/21(月) 14:16:37.13
spring、guice、picoはjsr-330のアノテーションでフィールドインジェクションが可能だったような。seasar2はどうなんだろ?

自作するつもりはないから、主要なプロダクトで互換が効くなら、お作法より楽な方法を優先かな。
865デフォルトの名無しさん:2011/11/21(月) 21:42:10.58
866デフォルトの名無しさん:2011/11/21(月) 22:33:28.77
>>863
そうでもないと思うけどね。

DIが外からインジェクションするからsetterがあるわけだけど、
そもそもの話、インジェクションしないなら
そのクラスの設計にインジェクション用のsetterは必要ないでしょ?

クラスの設計はそのクラスの責務に従って作るべきで、
インジェクションはそのクラスの責務とは無関係。
DI以前ならprivateどころかローカル変数に
インスタンスを生成していたはず。

と考えると、インジェクション先の変数は
privateであるのが自然なんだよ。
867デフォルトの名無しさん:2011/11/21(月) 23:39:15.50
議論のレベルが著しく低下してるな

ついこの前までFWのコアのバイトコード変換など高度な話題だったのに
今見たらインジェクションをpriavateでとかw
どうしてこうなった?
いまは雑魚しか寄り付かないような時間帯か?

まさかバイトコードの話題の時の人も参加してないだろうな?W
868デフォルトの名無しさん:2011/11/21(月) 23:40:40.51
はいはい。煽ることしかできないクズは死んでいいですよー。
869デフォルトの名無しさん:2011/11/21(月) 23:42:51.69
>>867
俺もそう思う
この前までフレームワークの中心部の核心に迫るような
技術的にも深いテーマだったのに
最近は幼稚な話題ばかりでガッカリだよ
インジェクションなんて子供かよw って思うわなw
870デフォルトの名無しさん:2011/11/21(月) 23:45:33.85
>>867
全くその通りだな
privateフィールドにアクセス出来ないとか騒いでる屑ばかり
どうせ土方PGが暴れてるんだろうが
こういう屑と、技術チームの人とは別の人間と思った方がいいな
871デフォルトの名無しさん:2011/11/21(月) 23:48:33.42
スプリングのコードを精査出来る人が最低ラインだろうな
まさか設定ファイルを書いて使えます程度の人は参加してないだろうがw
どんだけ雑魚なんだよw
872デフォルトの名無しさん:2011/11/21(月) 23:51:34.13
>>871
そういう低レベルが参加するとスレの内容も浅いものになるから
遠慮してほしいものだな
873デフォルトの名無しさん:2011/11/21(月) 23:53:31.45
同感、もっと深いテーマをすべき
874デフォルトの名無しさん:2011/11/21(月) 23:56:35.08
>>867-873
が全く役にたたない雑談な件について
875デフォルトの名無しさん:2011/11/21(月) 23:59:18.46
>>873
マジでそう思うね
コアな話題を語れるレベルの人がスレをリードすればいい
雑魚はいらないよ邪魔だ
876デフォルトの名無しさん:2011/11/22(火) 00:00:34.73
他力本願な文句垂れも雑魚の仲間ってことでFA?
877デフォルトの名無しさん:2011/11/22(火) 00:00:46.78

いいからさっさと話題出せよ低能。
煽ってるばかりで、それを指摘されたら
俺もそう思うとか自作自演は見てて恥ずかしいぞw
878デフォルトの名無しさん:2011/11/22(火) 00:04:17.07
こうなったらコアな話題を語れる人専用の
上級者スレを作ろう。誰か立てて。
879デフォルトの名無しさん:2011/11/22(火) 00:06:28.55
いらねーよボケ
880デフォルトの名無しさん:2011/11/22(火) 00:09:13.73
>>879
煽ってる奴に言えよ。
上級者と初心者を混ぜて欲しくないみたいだからさ
881デフォルトの名無しさん:2011/11/22(火) 00:13:03.31
知るか
ゴミ同士仲良くしろ
882デフォルトの名無しさん:2011/11/22(火) 00:13:39.98
誰だ最初に煽ったのか?そいつ死ねよ。
883853:2011/11/22(火) 00:44:07.58
>>870
すみません

あえていいわけをすれば、setter インジェクションも、
アノテーションを使った private フィールドインジェクションも、方法論であってどうでもよくない?
(ツールで何ができるか、用法を把握しておくべきという批判は甘んじて受け入れるが)

それとも private フィールドインジェクションを使うことによって、何かできることがすごく変わるのでしょうか?
884デフォルトの名無しさん:2011/11/22(火) 01:24:31.07
その程度の観点か・・・まあいいけど
885デフォルトの名無しさん:2011/11/22(火) 01:42:01.81
>>884
いや、だから セッターインジェクションもコンストラクターインジェクションもフィールドインジェクションも、
本質的にはやりたいことは一緒でしょ?

それとも、何か根本的に違うことがあるの? ってことだよ
886デフォルトの名無しさん:2011/11/22(火) 02:28:53.21
根本的な違いはよりシンプルに書けるってところだよ。
887デフォルトの名無しさん:2011/11/22(火) 02:38:44.41




なんて書くと釣れた釣れたwってなるだけだから書いておくと、

君、i++とi+=1の根本的な違いがあるのか?って
聞いてるようなもんだよ。

わかりきった答えをわざわざ聞くほうがどうかしてる。

どちらでもほぼ同じことが出来る。が小さな違いはある。
それを選ぶのはあんただ。ってこと。

どうでもよくない?じゃなくて、
どれにするかは、あんたが選べよってこと。
888デフォルトの名無しさん:2011/11/22(火) 10:09:27.60
馬鹿があいかわらず
低レベルな会話を続けてるらしいな
消えろ
889883:2011/11/22(火) 14:35:20.23
>>887 レスどうもありがとうございます。
> 君、i++とi+=1の根本的な違いがあるのか?って
> 聞いてるようなもんだよ。

> どちらでもほぼ同じことが出来る。が小さな違いはある。
> それを選ぶのはあんただ。ってこと。

なるほど、そういう意味か。
あなたの言っている意味が分かりました。
890883:2011/11/22(火) 14:35:51.10
余談ですが、 >>863

> javaの作法的には全てsetterインジェクションが望ましいはず。
> 俺は無視するけどね。

とあるけど、アメリカのカンファレンスで
「POJOs in Action(Manningのin Actionシリーズの書籍の一つ)」の著者の人が、
「コンストラクターインジェクション」が一番好きだ(望ましい)と言っていた。

理由は、
○1:
 >>887 の言うとおり atomic であること
○2:
 ・たとえばあるサービスオブジェクトが 4つのオブジェクトを DI される場合、
  setter インジェクションだと、setter を3つしか書かず、4つ目を書き忘れてもエラーにならない。
 ・しかしそのサービスオブジェクトは、4つともオブジェクトをインジェクション
  してもらうことを前提としている場合、コンストラクターインジェクションならば、
  引数が4つあるコンストラクタのみを作ればいいので、
  サービスオブジェクトのユーザ側に、4つとも渡してもらうことを強制できる
 ・仕様として、オブジェクト A,B,C までは必須で、D は任意であれば、
  引数が3つあるコンストラクタと4つあるコンストラクタの二つを作ればよい

なんてことを言っていた。
891デフォルトの名無しさん:2011/11/22(火) 20:12:45.86
作法とかw
なんで低レベルな会話ばかりするんだよ
消えろ
892デフォルトの名無しさん:2011/11/22(火) 21:59:44.28
みんな無視してるなw
893デフォルトの名無しさん:2011/11/22(火) 22:03:28.67
>>890
その条件ってアノテーションで定義できないのかな?
894デフォルトの名無しさん:2011/11/22(火) 22:55:24.17
>>891
幼稚園児を相手にしてもしょうがないでしょw
本当にレベルが落ちたねぇ・・・
895デフォルトの名無しさん:2011/11/22(火) 23:00:07.37
>>891
本当ですね
ガッカリです。もうちょっとマシな議論するかと思ってました

ところが阿呆ばかり寄ってくる始末
どうしてこうなったんでしょうか?
896デフォルトの名無しさん:2011/11/22(火) 23:02:43.08
いやーほんと、いやーだめですね。

いやー馬鹿ばかりですね。
897デフォルトの名無しさん:2011/11/22(火) 23:24:23.84
>>895
低レベルの雑魚をスルーするのが一番大事だな
高度な話題のみに専心しよう
898デフォルトの名無しさん:2011/11/22(火) 23:34:44.25
そうそう、高度な話題以外みんなスルー

スルーするー

するするるー
899デフォルトの名無しさん:2011/11/22(火) 23:34:59.84
荒砂ボケ

するするるー
900デフォルトの名無しさん:2011/11/22(火) 23:35:36.35
このスレは我々高度な
Springプログラマが占拠した
抵抗は無意味だ。
901デフォルトの名無しさん:2011/11/22(火) 23:36:09.83
高度な話題 さもなくば 雑談を
902デフォルトの名無しさん:2011/11/22(火) 23:36:13.26
高度な会話いがいは
スルーしましょう
903デフォルトの名無しさん:2011/11/22(火) 23:36:47.55
荒らしている所邪魔しますよ。

質問してもよろしいですか?
904デフォルトの名無しさん:2011/11/22(火) 23:37:06.57
>>903
高度な話題のみ許可する
905デフォルトの名無しさん:2011/11/22(火) 23:37:35.18
よし、みんな

スルーの準備だ!
906デフォルトの名無しさん:2011/11/22(火) 23:38:28.38
じゃあいいです。
907デフォルトの名無しさん:2011/11/22(火) 23:38:48.47
よしっ!


スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
スルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルースルー
908デフォルトの名無しさん:2011/11/22(火) 23:39:27.19
こうどなかいわ

これが一番大事です
909デフォルトの名無しさん:2011/11/22(火) 23:41:08.33
光度中居は

高ですか?わかりませねん。
910デフォルトの名無しさん:2011/11/22(火) 23:41:39.80
パペピプパペピプパペピブポー

カンフーキックだパペピぷぽー
911デフォルトの名無しさん:2011/11/22(火) 23:42:04.85
うっひゃー高度なオナニーきんもちぃいいいい!
912デフォルトの名無しさん:2011/11/22(火) 23:45:01.67
どうして
高度な会話ができない
馬鹿ばかりなんですか?
脳みそないの?w
913デフォルトの名無しさん:2011/11/22(火) 23:47:45.75
まともな話題なら、みんな本スレでやってるよ。
914デフォルトの名無しさん:2011/11/22(火) 23:55:30.25
ここがスプリングの本スレだろw

どこにあるんだよw

915デフォルトの名無しさん:2011/11/23(水) 00:16:05.84
すげー高度じゃん。
ついていけねーからって、嫉妬すんなよな!
916デフォルトの名無しさん:2011/11/23(水) 00:18:22.97
ここで暴れてたSpringソースを暗記している
脳内技術チームなんたらは解雇されたらしい
917デフォルトの名無しさん:2011/11/23(水) 01:25:59.15
えらく分かりにくい喩えだな
918デフォルトの名無しさん:2011/11/23(水) 04:21:20.94
技術的な話はよくでるけど
設計とかの話はあんまでないね
ttp://stackoverflow.com/questions/5265751/spring-mvc-controller-design
こんな感じの話
919デフォルトの名無しさん:2011/11/23(水) 04:26:12.36
さて>>918は高度な話題でしょうか?
違いますねw
920デフォルトの名無しさん:2011/11/23(水) 07:57:13.85
低脳がチンケな話題ばかり
どんだけ低レベルなんだ?恥ずかしくねーのか?w
921デフォルトの名無しさん:2011/11/23(水) 08:02:20.40
言いだしっぺの法則からいくと
>>920が話題ふらなくてはいかんですたい
922デフォルトの名無しさん:2011/11/23(水) 09:22:26.49
まったく高度なテーマは一つもねーのかよ
雑魚ばかりでつまらんすれだ
923デフォルトの名無しさん:2011/11/23(水) 10:50:24.77
じゃ、少しは考えるお題でも

Springの学習コストを推定してください。
前提も含め妥当な判断ができるか問われています
924デフォルトの名無しさん:2011/11/23(水) 11:01:16.12
>>923
馬鹿だなw

市ね化す

コストだと?www
おまえの程度が知れてるわwww

本当の実力があればコストも糞もねーよ

おまえにFWコアを書ける力あるのか?w
雑魚がww
消えろwww

925デフォルトの名無しさん:2011/11/23(水) 11:03:06.63
>>923
あなたのような初心者は
せいぜい設定ファイルが書ける程度でしょう?w
その程度なら一ヶ月もかからないでしょうが

スプリングのコード・パッケージを全部網羅するぐらい把握したいのなら
高度なスキルが要求さまますね
所詮、初心者の君には到底不可能ですがねw
諦めなさいw
926デフォルトの名無しさん:2011/11/23(水) 11:06:16.02
>>923
スキルもないのに
学習しないほうがいいよ恥かくだけだから
ロッドジョンションの設計思想もわからないような底辺PGが学習してなんになるの?
927デフォルトの名無しさん:2011/11/23(水) 11:08:19.14
>>926
そうだな
高度なスキルもないような阿呆が
学習しても無駄だな
土方PGを増やすだけの悲しい結末が見えてるw
928デフォルトの名無しさん:2011/11/23(水) 11:11:38.92
このスレは見積もりもできない落第生だらけでした
929デフォルトの名無しさん:2011/11/23(水) 11:15:11.39
答えがあることしか答えられない輩増えてるみたいだな
答えがだせないから逆キレ
930デフォルトの名無しさん:2011/11/23(水) 11:18:33.51
>>925
コアスキルのない落第生の悲しい性だね
所詮はロッドジョンソンのような超一流の設計者にはなれないんだよ
931デフォルトの名無しさん:2011/11/23(水) 11:19:33.23
>>927
高度なスキルが一番大事だな
それがあればシーサーも短期間にモノにできるし
JBOSSのFWもモノにできる

しかしスキルのない底辺どもは何をしても無駄だなw
932デフォルトの名無しさん:2011/11/23(水) 11:30:54.99
いっしょうけんめいべんきょうして
コードを全部網羅するほと把握しましたがその知識を活かす場所がありません。
投資コストがムダに思えてきます
高度な話題があれば少しは溜飲もさがるのですが
933デフォルトの名無しさん:2011/11/23(水) 11:32:02.29
↑おまえら
934デフォルトの名無しさん:2011/11/23(水) 11:38:25.19
>>932
嘘ばかりだなw
市ね
935デフォルトの名無しさん:2011/11/23(水) 11:39:41.99
だいたい
スプリングのコアコードを把握できるほどのスキルがあるなら
案件の技術基盤チームなどに引っ張りだこだ
どこに行っても通用するスキルだ


それに対して
学習コストとか言ってる底辺の土方PGどもwww
消えろww
936デフォルトの名無しさん:2011/11/23(水) 11:40:35.48
セッターゲッターのインジェクションとかwww
そんな低レベルな会話しか出来ない雑魚www
工場の流れ作業員みたいだなwww
937デフォルトの名無しさん:2011/11/23(水) 11:42:46.52
Springを使う効果
・劣等感とその反動の煽り習慣が人格にインジェクトされます
・言葉使いが卑しいソレになります
938デフォルトの名無しさん:2011/11/23(水) 11:43:26.47
>>935
> スプリングのコアコードを把握できるほどのスキルがあるなら
> 案件の技術基盤チームなどに引っ張りだこだ
> どこに行っても通用するスキルだ

その通りですね
スプリングのコアコードを理解できる人のみが「真の技術者」です
理解できない者はピラミッドの底辺で土型PGとして生きていくしかないでしょうね・・・
939デフォルトの名無しさん:2011/11/23(水) 11:47:33.36
>>938
一部のコア技術者と
大多数の底辺PG

まさに社会の縮図をみるようだな
940デフォルトの名無しさん:2011/11/23(水) 11:57:00.27
Springのコード簡単だろw
どこからその根拠のない自信が
941デフォルトの名無しさん:2011/11/23(水) 12:23:41.87
では具体的に
どうやってバインドするか説明してみろ

雑魚ほど
よく吼えるw
942デフォルトの名無しさん:2011/11/23(水) 12:26:21.86
>>941
どうせ無理ですよ
馬鹿ほどわかった気になってるもんです

コアなコードが何をやってるのか?
どうやってターゲットをバインドして、そしてインターセプトしてるのか?
ここを説明できるひとなど
一握りですよ

>>940 のような底辺の馬鹿が
説明できるワケないでしょうにw

阿呆は放置でヨシですねw
943デフォルトの名無しさん:2011/11/23(水) 12:29:14.71
>>942
それもそうだな
雑魚に高度なFWのコアロジックの説明しろ
ってのも無理すぎる注文だなw


さて >>940 の大口を叩いた阿呆は
ちゃんと説明してくれるのかな?w

それとも涙目で敗走してんのかな?www
944デフォルトの名無しさん:2011/11/23(水) 12:31:32.33
しかし底辺のクセに大口叩く馬鹿が増えたなぁ・・・
こういう雑魚は死ねばいいのにね
945デフォルトの名無しさん:2011/11/23(水) 12:36:28.21
ホラホラ高度な話題しろよ。
俺はソースコード全部読めるけどな。
946デフォルトの名無しさん:2011/11/23(水) 12:38:06.96
いつになったら
高度なテーマになるの?
947デフォルトの名無しさん:2011/11/23(水) 13:08:32.76
じゃあここで高度な話題を・・・
948デフォルトの名無しさん:2011/11/23(水) 13:09:05.02
>>947
ぷぎゃーw それのどこが高度な話題なんだよw
雑魚すぐるううううううwwwww
949デフォルトの名無しさん:2011/11/23(水) 13:09:59.88
はやく高度な話題しろよ
950デフォルトの名無しさん:2011/11/23(水) 13:15:50.89
では。わたくしめが高度な話題を。
自称高度な方々が高度な話題を自らふれないのは
高度を志向してはいるが、いかんせん実力不足で
高度な話題を自らふることができないからです
Q.E.D.
951デフォルトの名無しさん:2011/11/23(水) 13:17:16.86
>>942
ふーん。おまえの周りでは一握りなんだー。そっか。。。
952デフォルトの名無しさん:2011/11/23(水) 13:18:31.98
井の中の蛙という言葉があってだな
何を高度と見るかで程度が知れるな
953デフォルトの名無しさん:2011/11/23(水) 13:19:00.07
>>950
ふーん。お前にとってはそれが高度なんだw
954デフォルトの名無しさん:2011/11/23(水) 13:19:59.58
ま、高度な質問って言ったらバリバリにフレームワークのソースコード読めて
同じようなフレームワークをサクッと作れちゃう
俺のようなやつがする質問だろうな。
955デフォルトの名無しさん:2011/11/23(水) 13:20:25.03
お前らみんな、ゴミ虫
956デフォルトの名無しさん:2011/11/23(水) 13:20:31.43
>>950は高度な話題ではあるな
957デフォルトの名無しさん:2011/11/23(水) 13:21:37.89
荒らしあってる所邪魔しますよ。

質問してもよろしいですか?
958デフォルトの名無しさん:2011/11/23(水) 13:22:40.85
>>954のように誇る姿にあこがれます。劣化コピーを作るその姿に。
959デフォルトの名無しさん:2011/11/23(水) 13:23:04.63
>>957
どうぞ

>>960
それは高度じゃないから却下だwww
960デフォルトの名無しさん:2011/11/23(水) 13:23:47.57
>>957
高度な質問のみ許可する
961デフォルトの名無しさん:2011/11/23(水) 13:26:29.29
では質問。

荒らしている奴は、何が出来るんですか?
なにかすごいことが出来るんですか?
962デフォルトの名無しさん:2011/11/23(水) 13:28:53.19
今日も底辺どもが
暴れてるなw
963デフォルトの名無しさん:2011/11/23(水) 13:29:26.29
高度なテーマのみが
スレにふさわしい
低次元の話をする馬鹿は消えろ
964デフォルトの名無しさん:2011/11/23(水) 13:30:30.72
>>954
おい、土方A

さっさとPG〜テスト工程やれよw
それ終わったら、また別の案件でPGだぞw
965デフォルトの名無しさん:2011/11/23(水) 13:31:10.86
土方PGって哀れだねぇ

スプリングの設定ファイルさえも書けるか怪しいんでしょ?w
966デフォルトの名無しさん:2011/11/23(水) 13:34:22.04
やっぱり荒らしてるのは、
いつものやつだったか
「土方」という単語で確定した。
967デフォルトの名無しさん:2011/11/23(水) 14:54:35.91
内部のコード読んで仕様知るのも大切なことだろうけどさ。
イチを知れば扱えるよう設計されてるわけだし、
それで不自由無くて、内部の実装に別段興味無いなら別に知る必要なくない?
ビジネスロジック優先なPG、ライブラリ設計優先なPGは、適正や仕事の領域の違いであって、優劣つけるもんじゃない。
968デフォルトの名無しさん:2011/11/23(水) 14:56:41.26
ぶっちゃけライブラリ設計の方が楽だよね
969デフォルトの名無しさん:2011/11/23(水) 15:05:10.47
>>967
お前は
案件でPG〜テスト工程しか採用されない土方PGで一生いるつもりか?

いくらでも補充が利くような土方PGと
コアな技術力を評価されて高待遇の基盤アーキテクト

どっちの人生を望む?
970デフォルトの名無しさん:2011/11/23(水) 15:07:01.36
>>967
もうひとつ論破すると

ビジネスロジックの元の仕様は
業務SEが顧客からヒアリングして決定する

案件PG達は詳細設計書を見て機械的にコーディングするのみだ
971デフォルトの名無しさん:2011/11/23(水) 15:08:48.02
素のSpringで十分なので
自称アーキテクトさまのオレオレFWなど書かないでください
ってみんな言ってるよー?
972デフォルトの名無しさん:2011/11/23(水) 15:14:54.27
業務知識のないアホが技術基盤チームとか騒いでるだけだろ。
案件のない時代にはそういうやつが真っ先に切られる。
973デフォルトの名無しさん:2011/11/23(水) 15:20:55.78
真っ先に切られるのは土方PGだろ
974デフォルトの名無しさん:2011/11/23(水) 15:33:56.87
>>970
は高確率でお馬鹿さん
>案件PG達は詳細設計書を見て機械的にコーディングするのみだ
が本当なら自動化して終わりでしょ?アーキテクトならね。
センスないのが滲み出てる。
975デフォルトの名無しさん:2011/11/23(水) 15:54:34.62
>>974
おまえって
馬鹿のフリーターなんろうなw

一度も案件に参加すらしたことない可愛そうな妄想ばかに
この業界のことがわかるわけないよなww
976デフォルトの名無しさん:2011/11/23(水) 15:57:04.82
すがすがしい程テンプレどおりの負け惜しみだなw
977デフォルトの名無しさん:2011/11/23(水) 16:05:16.73
990超えたぐらいで次スレたてておいてね
荒しだろうとそうでなかろうと、需要はあると思うので
(立たなかったらおれがたてておくが)
978デフォルトの名無しさん:2011/11/23(水) 17:27:28.19
そういうお前が立てろよボケ
979デフォルトの名無しさん:2011/11/23(水) 17:31:34.81
日本語が読めない原始人は巣にお帰りください。
980デフォルトの名無しさん:2011/11/23(水) 17:41:08.18
>>975
確かにこういう馬鹿いるよね
妄想ばかりして現実を知らない幼稚園児だなw
981デフォルトの名無しさん:2011/11/23(水) 17:46:07.79
人として末期な書き込みが多いね。かわいそう。
982デフォルトの名無しさん:2011/11/23(水) 17:50:00.38
spring jdbcって
どうやってつかうの?
983デフォルトの名無しさん:2011/11/23(水) 18:32:42.53
ふう。やっぱりお前ら全員馬鹿だ。
俺を論破できないwww
984デフォルトの名無しさん:2011/11/23(水) 18:33:49.95
>>982
使いかたわかんね
985デフォルトの名無しさん:2011/11/23(水) 18:33:50.75
ソースコード読めば分かるというやつ、
実際に読んでみろ。俺には読んでもわからんかったぞ。
986982:2011/11/23(水) 18:34:20.68
ググって分かった。
自己完結しました。
987デフォルトの名無しさん:2011/11/23(水) 18:59:53.64
>>986
おしえてよ〜
988デフォルトの名無しさん:2011/11/23(水) 19:00:07.77
いけずなヤツもいるのさ
989デフォルトの名無しさん:2011/11/23(水) 19:00:19.41
親切な人がいるかもしれぬ
990デフォルトの名無しさん:2011/11/23(水) 19:03:01.19
>>985
それはお前が低能だからだなw
991デフォルトの名無しさん:2011/11/23(水) 21:09:00.55
>>985
まぁ深すぎるからな

俺も解析初めて一ヶ月ぐらいで何とか挙動がわかるようになった
といっても
beanとcoreとaopパッケージぐらいだが
992デフォルトの名無しさん:2011/11/23(水) 21:09:41.15
一つ一つのパッケージが
膨大すぎて
処理が複雑すぎて
追いかけ切れんのが実態だな
993デフォルトの名無しさん:2011/11/23(水) 21:10:12.27
だよな。Springのソースコードなんて簡単すぎ
あれがわからんのは、低能だけだ。
994デフォルトの名無しさん:2011/11/23(水) 21:10:34.92
お、高度な話題がはじまったな。
995デフォルトの名無しさん:2011/11/23(水) 21:13:25.03
>>992
全部追うのは無理でしょw

技術チームなら必要なスキルだろうけど
土方にはいらない
996デフォルトの名無しさん:2011/11/23(水) 21:17:08.16
>>991
それだけでもすごいことだ
ここの雑魚どもはそれすら無理でしょ
997デフォルトの名無しさん:2011/11/23(水) 21:18:09.27
>>977
おい990超えたぞ
さっさと次スレたてろよカス
998デフォルトの名無しさん:2011/11/23(水) 21:19:06.59
あんだけ重厚でいいのだろか
Guiceなんかもっと単純化しようって流れだけど
999デフォルトの名無しさん:2011/11/23(水) 21:20:31.61
>>998
拡張しまくりだもんな
肥大化しすぎてロッド・ジョンソンさえも把握してないかも
1000デフォルトの名無しさん:2011/11/23(水) 21:46:05.97
1000!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。