spring 제어 반전 과 주입 의존 에 대한 간단 한 이해
지금 예 를 들 어 보 겠 습 니 다.
functionservice 클래스 를 만 들 었 습 니 다.
public class FunctionService {
public String sayHello(String word) {
return "hello"+word;
}
}
이제 이 방법 을 사용 하 겠 습 니 다.
/**
* @author pm_WeiYu
* functionservice
*/
public class UserFunctionService {
FunctionService fs=new FunctionService();
@Test
public void log() {
fs.sayHello("aaa");
}
}
이 럴 때 userfunctionservice 는 functionservice 에 의존 해 야 한다 고 할 수 있다.
그러나 이러한 코드 를 통 해 우 리 는 결합 성 이 매우 높다 는 것 을 알 수 있다.예 를 들 어 우리(userfunctionservice)가 시장(functionservice)에 가서 채 소 를 사 야 한 다 는 것 이다.우 리 는 서로 다른 시장 에 가서 서로 다른 채 소 를 사 야 한다.이때 전자상거래 플랫폼 이 이런 자원 을 통합 시 킬 수 있다 면 우 리 는 직접 전자상거래 플랫폼(spring)에 가서 구 매 하면 된다.이것 은 spring(반전 IOC 제어)에 요리 의 정보(실체 bean)를 주입(DI)하여 우리(userfunctionservice)에 게 사용 할 수 있 도록 제어 권 을 주 었 다.이렇게 해서 우 리 는 장 을 봐 야 한다.전자상거래 플랫폼 에 가서 주문 하면 된다.
다음은 spring 의 방법 입 니 다(spring 4.x 자바 류 설정 파일 을 통 해)
설명 service 를 추가 하면@component@service@Repository@Controller 를 선택 할 수 있 습 니 다.
@Service
public class FunctionService {
public String sayHello(String word) {
return "hello"+word;
}
}
설정 클래스 만 들 기
/**
* @author pm_WeiYu
* spring
*/
@Configuration
@ComponentScan("god.demo.service")
public class DiCongifg {
}
주입 류
/**
* @author pm_WeiYu
* functionservice
*/
public class UserFunctionService {
@Autowired
FunctionService fs;
@Test
public void log() {
AnnotationConfigApplicationContext acac=new AnnotationConfigApplicationContext(DiCongifg.class);
FunctionService bean = acac.getBean(FunctionService.class);
System.out.println(bean.sayHello("aaa"));
}
}
키워드@Autowired 를 사용 하여 실 체 를 그 기능 에 주입 합 니 다.
여기 서 주의해 야 할 것 은 spring-cord 4.0.2 버 전 이상 에서 AnnotationConfigApplication Context 를 사용 하면 찾 을 수 없습니다.
현재 대상 을 만 드 는 권력 이 spring 에 게 넘 어 가 는 것 을 볼 수 있 습 니 다.사용 할 때 주입 해 야 할 실 체 를 주입 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.