PicoからSpringへ

PicoContainerで書いたアプリをSpringに移植してみました。
そのときの修正のメモを載せています。
SpringとPicoContainerの違いがよく分かるのではないでしょうか?

・コンテナで管理するクラスにデフォルトコンストラクタを追加
 他のコンポーネントを渡すためのコンストラクタを、セッターメソッドに変更
[pico] (コンストラクタで他のコンポーネントを渡す)
class UserManager..
  UserManager(UserDao userDao) {
    this.userDao = userDao;
  }
[Spring](セッターで他のコンポーネントを渡す)
class UserManager..
  public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
  }

・コンポーネントの登録部分を変更
[pico](オブジェクトに直接登録。NanoContainerを使えばXMLファイルを使う方法も)
DefaultPicoContainer#registerComponentImplementation
  UserDao.class,JdbcUserDao.class);
DefaultPicoContainer#registerComponentImplementation(
  UserManager.class, DefaultUserManager.class);
[Spring](XMLファイルで定義)




	
		
	
コンポーネントの取得部分を変更
[pico](クラスをキーとして取得)
DefaultPicoContainer#getComponentInstance(UserManager.class)
[Spring](文字列をキーとして取得)
FileSystemXmlApplicationContext#getBean("userManager")