겉바속촉

[spring] 어노테이션 @Resource 연습 본문

IT일기(하반기)/SPRING

[spring] 어노테이션 @Resource 연습

겉바속촉 2020. 6. 25. 16:53
728x90
반응형

1. Tire 만들기

package spring.day0625.anno2;

public interface Tire {
	
	public String getTire();	
	
}

 

2. KoreaTire를 만들면서 인터페이스 해주세요:)

 

 

package spring.day0625.anno2;

import org.springframework.stereotype.Component;

@Component
public class KoreaTire implements Tire {

	@Override
	public String getTire() {
		// TODO Auto-generated method stub
		return "한국타이어";
	}

}

 

3. TireController 만들기

 

4. annoContext.xml 가서 추가등록

 

 

 

 

5. TireMain 만들기

 

 

 

6. 컴파일해서

한국타이어 나오는 지 확인해주세요

 

 

 

 

7. 캐나다타이어 만들어보기

CanadaTire  인터페이스 해주세요:)

 

 

 

CanadaTire

package spring.day0625.anno2;

import org.springframework.stereotype.Component;

@Component
public class CanadaTire implements Tire {

	@Override
	public String getTire() {
		// TODO Auto-generated method stub
		return "캐나다타이어";
	}

}

 

아무것도 안하고 컴파일하면

다음과 같이 오류가 납니다

 

왜냐면 Controller에서는

캐나다 타이어 코리아 타이어 두개다 구동이 되기 때문인데요

이럴 때는 Autowired를 쓸 수가 없습니다:)

 

 

 

 

 

 

그럼 고쳐봅시다

Autowired는 주석처리 해주시고

Resource를 통해서 정확하게 짚어주셔야 컴파일 했을 때 결과값이 잘 나올거에요:)

 

 

 

package spring.day0625.anno2;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("TIRECONT")
public class TireController {
	
	//@Autowired
	@Resource(name = "canadaTire")
	Tire tire;
	public void process()
	{
		String s=tire.getTire();
		System.out.println(s);				
	}
}

 

 

 

728x90
반응형