Androidアプリ開発したい!

IT屋がGalaxySを手に入れてからAndroidに興味が湧き、いろいろと開発したりしてます。 GalaxyNexusがメイン機となり、ようやく普及し始めたAndroid4.0への関心が高いです。 仕事では、iPhone向けとかのソシャゲ作ってます。

Spring

MacにSringToolSuiteをインストールしちゃう

まあWindowsの時とほとんど同じなのであれですが・・・せっかくなので。
公式ページからMac版のインストーラーをダウンロードします。
スクリーンショット 2012-06-18 22.22.38.png


インストーラーなのでらくちん。

スクリーンショット 2012-06-18 22.23.17.png
SpringTemplateからMVCを選んで、クリーンしてJavaのビルドパスをJDK1.6に設定して
サーバーを起動します。
スクリーンショット 2012-06-19 0.02.58.png

うん。普通にできたw
MySQLも入れたし、またMyBatis-springをやってみますかね。


java Spring3.xを使ってみる

せっかくScientificLinuxをVMにインストールしたので、
Webアプリケーションを作って乗っけてみたいなぁ~と思い
Springを復習しようとしたらあまりの激変に想像以上に時間がかかってしまったOTL

どうもSpring3関係の書籍というかSpringの日本語書籍が全般的に少なくて、
英語苦手な私としてはかなりハードルが高いです・・・

【1.STS(SpringSource Tool Suite)のインストール】
SpringSource公式(SpringSource Tool Suiteのダウンロード)URL:

※現時点2012/05/20の最新バージョンは、「2.9.1.RELEASE」です。

インストールというかセットアップは特別難しいことはありません。
ダウンロードするためにユーザ情報の入力が求められますが、
別にメールでURLが来るわけでもないので、
ぶっちゃけて適当な入力でもダウンロード可能です。

bad22c04.png

私は、InstallerではなくZipにしました。
他のPCでも使うときとかコピーが楽ですし?

こちらのサイトを少し参考にしました。
ありがとうございました。


【2.STS(SpringSource Tool Suite)を日本語化】
Pleiades (プレアデス)をダウンロードして、
「plugins」フォルダをそのままSTSインストール直下に入れちゃえばOKです。
 
例)※私はC:\直下にZip解答したので以下のパスです
C:\springsource\sts-2.9.1.RELEASE


【3.Spring3 DIでHelloWorld】
これはまんま以下のサイトの通りにやったので、
こっち見ていただけると分かりやすいかと思います。



【4.component-scanがエラーになるように、わざと間違えてみた】

プロジェクト構成
※Serviceインターフェースの具象クラスで、「@Component」アノテーションがついたクラスが
com.kyokomi.hellospring」パッケージ下に2つ存在する状況。

b42fa725.png




app-context.xml
beanのcomponent-scanの対象が"com.kyokomi.hellospring"以下のパッケージになっている。


■実行結果

ポイントは「No unique bean of type [com.kyokomi.hellospring.Service] is defined」の一言。

英語が苦手な私にもわかるレベルの内容ですが、
一応google翻訳した結果がこれです。

「型のないユニークな豆なし[com.kyokomi.hellospring.Service]定義されています」

ちょっとおしい!(笑)


勝手に解釈するとこんな感じでしょうかね。

[com.kyokomi.hellospring.Service]Beanの定義は一意ではありません。

要するに「そのServiceってBeanが2つあるけど、どっち使えばええねん!!?」
ってことですね。


対策
対策としては、以下の3つがパッと思いつきました。
まあ他にもあるだろうけどまだまだ初心者なので、この程度が限界っす。


1.そもそもどっちかのクラスを消す

2.StubServiceを使うのなら、app-contextのcomponent-scan範囲を"com.kyokomi.hellpspring.stub"にする
 ⇒この場合はMainクラスがscanから外れるので、以下を追加する必要がありますが
  <bean id= "main" class ="com.kyokomi.hellospring.Main" />

3."com.kyokomi.hellostub"とかにして、Serviceインターフェースの具象クラスを別のパッケージ階層にする


とりあえず「2.」をやってみた結果

63969548.png


【感想】
Springは1.x時代に触った以来だからあまりの進化っぷりに驚きを隠せない。
なんかもっとxmlの設定ファイルとかごちゃごちゃしてて辛かった記憶しかないな・・・
やっぱ時代はアノテーションとかでの自動接続とかが賢いやりかたなのね!

また、気が向いたらSpring3 MVCとかもやります。




持ってる端末
・Galaxy S root化済    (2.3.6)
・Galaxy Nexus          (4.1.1)
・GALAPAGOS A01SH (4.0.4)
・ONDA Vi10              (4.0.3) 
・iPod Touch           (iOS 6.0)
記事検索
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

  • ライブドアブログ