シミュレーションSpringコンテナbean.xmlを使用してオブジェクトを作成するプロセス


本格的にspringを使用する前にspringの自動作成オブジェクトを体験し、オブジェクト向けプログラミングをインタフェース向けプログラミングに変えます.
考え方:
    springのbean.xml構成を呼び出すと、DaoレイヤとServiceレイヤのオブジェクトが自動的に作成されます.
一、JARバッグ
        springを体験しに来たbean.xmlなので、データベースに接続する必要はありません.springの4つのコアパッケージしか必要ありません.
        Spring-beans、context、core、expressionの4大金剛
二、インタフェース
        2つのインタフェース 
        一つはDaoインタフェースICustomerDao.javaでvoidメソッドsaveCustomer()を記述します.
        一つはサービスインタフェースICustomerServices.javaにもvoidメソッドsaveCustomer()が記述されています.
三、実現類
        2つのインタフェースは2つの実装クラスに対応し、コードは以下の通りである.
        
package service.impl;

import org.springframework.beans.factory.BeanFactory;

import dao.ICustomerDao;
import service.ICustomerService;

public class CustomerServiceImpl implements ICustomerService {
        //  customerDao    Dao   
	private ICustomerDao customerDao;
	
	public void setCustomerDao(ICustomerDao customerDao) {
		this.customerDao = customerDao;
	}

	@Override
	public void saveCustomer() {

		System.out.println("        ");
		customerDao.saveCustomer();

	}

}
package dao.impl;

import dao.ICustomerDao;

public class CustomerDaoImpl implements ICustomerDao {

	//          
	@Override
	public void saveCustomer() {
		System.out.println("        ");
	}

}



        saveCustomer ?Dao Dao ,

        customer( ) ,Service , Dao ,

        , saveCustomer , bean.xml 。

、bean.xml

        bean.xml , spring , 。

        service 。 service , 。

    





	




    , Client.java main

    main , spring , ClassPathXmlApplicationContext bean.xml

    bean , 。

    ICustomerService cs spring getBean customerService ,

    cs CustomerServiceImpl , Dao set customerDao.

   

    

package ui;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import service.ICustomerService;

public class Client {

	public static void main(String[] args) {
		ApplicationContext ac=new ClassPathXmlApplicationContext("bean.xml");
		ICustomerService cs=(ICustomerService) ac.getBean("customerService");
		cs.saveCustomer();
	}

}

cs saveCustomer() , spring 。