스프링 코어 모듈
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.