一歩一歩spring(一)——spring入門例


スプリングを学ぶには、まずspringの例を作って、走って、springが何なのか、何に使うのか、なぜspringを使うのかなどを理解します.まず、springのIoC特性を利用して、一歩一歩例を構築します.
一.eclipseでは、javaまたはwebプロジェクトを新規作成し、次のjarパッケージを導入します.
* SPRING_HOME/dist/spring.jar
* SPRING_HOME/lib/jakarta-commons/commons-logging.jar
* SPRING_HOME/lib/log4j/log4j-1.2.14.jar
二.反転テストインタフェース及びクラスを作成する.(シミュレーションプロジェクトで複数のデータベースを使用する場合、テストクラスであるため、コードが簡潔で規範化されていない可能性があり、その意味が分かればよい).
インタフェースIUserDao、コードは以下の通りです.
package com.dao;

import com.model.User;

public interface IUserDao {

	public User findUserById();
}

次に、インタフェースIUserDaoのインプリメンテーションサブクラスを示します.1つのシミュレーションはOracleデータベースからユーザーBeanをクエリーし、もう1つのシミュレーションはMySqlデータベースから顧客Beanをクエリーします.具体的なコードは次のとおりです.
  UserOracleDaoImpleクラス(関連OracleデータベースのDAO)
package com.dao;

import com.model.User;

public class UserOracleDaoImple implements IUserDao {

	public UserOracleDaoImple() {
	}
	public User findUserById() {
		System.out.println("      ORACLE     ...........");
		return null;
	}
}

UserMySqlDaoImpleクラス(関連MySqlデータベースのDAO)
package com.dao;

import com.model.User;

public class UserMySqlDaoImple implements IUserDao {

	public UserMySqlDaoImple() {
	}
	
	public User findUserById() {
		System.out.println("      MYSQL     ...........");
		return null;
	}

}

UserManagerクラス(ユーザー操作の補助クラス)
package com.manager;

import com.dao.IUserDao;
import com.model.User;

public class UserManager {

	private IUserDao dao;
	public User findUser() {
		return dao.findUserById();
	}
	public IUserDao getDao() {
		return dao;
	}
	public void setDao(IUserDao dao) {
		this.dao = dao;
	}
}


三.コンフィギュレーションファイルにおいて、反転制御するBeanをコンフィギュレーションする.大体のコンフィギュレーション情報は以下の通りである.
<bean id="userDao4MySqlImpl" class="com.dao.UserMySqlDaoImple" init-method="init22" />
	<bean id="userDao4OracleImpl"  class="com.dao.UserOracleDaoImple"/>
    
	<bean  name="userManager" class="com.manager.UserManager">
		<property name="dao" >
		   <ref bean="userDao4MySqlImpl"/>
		</property>
	</bean>

四.テストクラスを作成し、テストを行う
テストクラスTest.java
/**
	 * @param args
	 * @throws IOException 
	 * @throws IllegalAccessException 
	 * @throws InstantiationException 
	 */
	public static void main(String[] args) throws Exception{
		Resource resource = new ClassPathResource("applicationContext.xml");
		//BeanFactory act = new XmlBeanFactory(resource);
     	ApplicationContext act = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserManager um = (UserManager)act.getBean("userManager");
		
	}

実行、結果:UserMySqlDaoImpleが初期化されました
OK!簡単なspring例の構築が完了し、springの核心技術と特性を詳細に研究し、分析します.