스프링 코어 모듈

5716 단어 Spring
설명 하 다.
코어 모듈 의 주요 기능 은 역 제어 IoC (Inversion of Control) 와 의존 주입 DI (Dependency Injection), Bean 설정 및 로드 를 실현 하 는 것 이다.코어 모듈 에는 Beans, BeanFactory, BeanDefinitions, ApplicationContext 등 몇 가지 중요 한 개념 이 있다.
실례 화 BeanFactory
웹 프로그램 에서 사용 자 는 BeanFactory 를 예화 할 필요 가 없습니다. 웹 프로그램 을 불 러 올 때 BeanFactory 를 자동 으로 예화 하고 모든 Beans 를 불 러 옵 니 다. 각종 Bean 을 각 Servlet, Struts 의 Action, 또는 Hibernate 자원 에 설정 합 니 다.
자바 데스크 톱 프로그램 에 서 는 BeanFactory 에서 Bean 을 가 져 와 야 하기 때문에 BeanFactory 를 예화 해 야 합 니 다. 구조 함수 의 매개 변 수 는 설정 파일 의 경로 이 고 XMLbean Factory 구조 함수 에 전달 해 야 합 니 다.
인터페이스: IService. java 와 IDao. java
package interf;

public interface IService {
	public void service(String name);
}
package interf;

public interface IDao {
	public String sayHello(String name);
}

구현 클래스: Service. java 와 Dao. java
package example;

import interf.IDao;
import interf.IService;

public class Service implements IService {
	private IDao idao;

	@Override
	public void service(String name) {
		// TODO Auto-generated method stub
		System.out.print(idao.sayHello(name));
	}

	public IDao getIdao() {
		return idao;
	}

	public void setIdao(IDao idao) {
		this.idao = idao;
	}

}Dao 
package example;

import java.util.Calendar;

import interf.IDao;

public class Dao implements IDao {

	@Override
	public String sayHello(String name) {
		// TODO Auto-generated method stub
		int hour=Calendar.getInstance().get(Calendar.HOUR_OF_DAY);	//  
		if(hour<9) return "   "+name;
		return "   "+name;
	}

}

실행 클래스
package example;

import java.util.List;

import org.springframework.beans.factory.support.DefaultListableBeanFactory;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.core.io.ClassPathResource;

import bean.Person;
import interf.IPersonDAO;
import interf.IService;

public class SpringTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
		XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(beanFactory);
		reader.loadBeanDefinitions(new ClassPathResource("applicationContext.xml"));

//		XmlBeanFactory xmlb=new XmlBeanFactory(new
//		ClassPathResource("applicationContext.xml")); //    Spring3.1        
//		         xml     
//		ClassPathXmlApplicationContext applicationContext=new ClassPathXmlApplicationContext(
//				new String[]{"applicationContext.xml","applicationContext2.xml"});
//		BeanFactory factory=(BeanFactory) applicationContext;

		IService hello = (IService) beanFactory.getBean("serviceBefore");
		hello.service("Hello Spring!");

		beanFactory.destroySingletons();

	}
}

XMLBeanFactory

        
        
	

	
	
		
							
		
			
	

	
	

	
	
		
	
        
	
			
					
			
		
	

주: Spring 은 XML 작성 순서에 따라 Bean 을 실례 화 합 니 다. Spring 데스크 톱 프로그램 을 실행 하려 면 먼저 Log4j 를 설정 해 야 합 니 다. 프로필 은 Src 루트 디 렉 터 리 에 놓 고 log4j. properties 라 는 이름 을 지어 야 합 니 다. 제 설정 은 다음 과 같 습 니 다.
log4j.rootLogger = debug , D ,  E
### \u8F93\u51FA\u5230\u65E5\u5FD7\u6587\u4EF6 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
#      
log4j.appender.D.File = D\:\\Test\\log.log
log4j.appender.D.DatePattern = '.'yyyy-MM-dd 
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO 
## \u8F93\u51FADEBUG\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### \u4FDD\u5B58\u5F02\u5E38\u4FE1\u606F\u5230\u5355\u72EC\u6587\u4EF6 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
#      
log4j.appender.E.File = D\:\\shudian\\log.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
## \u53EA\u8F93\u51FAERROR\u7EA7\u522B\u4EE5\u4E0A\u7684\u65E5\u5FD7!!!
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss}  [ %t\:%r ] - [ %p ]  %m%n

좋은 웹페이지 즐겨찾기