@Qualifier, @Resource, @Value
@Qualifier
@autowired 타입으로 매핑!
@Autowired
private SenderInter senderInter;라고 해주고
sender, sender2 둘다 인터페이스해주면
expected single matching bean but found 2: sender,sender2
라고 에러문구가 뜬다.
인스턴스된 객체가 두개라 에러가 떨어지는것.
해결방법 :@Qualifier("sender")
센더인터타입이 두갠데, 그중에 센더와 매핑한다는것.
즉 퀄리파이어는 오토와이어드의 보조어노테이션
@Resource
@Resource
는 @Autowired와 달리 객체변수이름으로 매핑을 한다.
pojo란?
POJO란 Plain Old Java Object의 약자로, 이를 직역하면 순수한 오래된 자바 객체이다.
즉, Java로 생성하는 순수한 객체를 뜻한다.
@value
변수에 값을 초기화하기 위해 사용한다.
package anno3_etc;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service("my")
public class MyProcess {
@Value("#{dataInfo.name}")// {객체변수명.멤버}
private String name;
private String part;
@Autowired
//public MyProcess(@Value("영업부") String part) { //생성자를 통해 영업부가 들어감.
public MyProcess(@Value("#{dataInfo.part}") String part) { // @Value("#{dataInfo.part}통해 전산부가 들어옴.
this.part = part;
} //그러나 xml이 우선순위임. 그러므로 xml에서 넣어준 값인 판매부가 출력된다.
Spring EL : #{표현식}.
만들어진 Component 객체를 이용. private는 getter를 이용해서 가져옴
spEL 표현식은 #기호로 시작하며 중괄호로 묶어서 표현. #{표현식}
속성값을 참고할때는 $기호와 중괄호로 묶어서 표현. ${property.name}
값을 넣어주는 우선순위는 xml이 1순위.
@Value("123")
private int age;
@Value("1,2,3,4")
private int arr[];
@Value() 안에 ""안적으면 typemispatch.
기본적으로 @Value에 들어가는 값의 type은 String 이다. 하지만 변수 타입에 맞춰져서 알맞게 들어간다.
https://ittrue.tistory.com/211
[Spring] POJO란 무엇인가?
POJO(Plain Old Java Object) 위 이미지는 Spring 삼각형이라는 유명한 이미지로 Spring의 핵심 개념들을 모두 표현하고 있다. POJO는 IoC/DI, AOP, PSA를 통해서 달성할 수 있다는 것을 의미한다. POJO란 Plain Old Jav
ittrue.tistory.com
https://cafe.daum.net/flowlife/HrhB/35
Annotation 알아보기
https://velog.io/@gillog/Spring-Annotation-%EC%A0%95%EB%A6%AC 스프링 프레임워크가 버전업 될 때 마다 새로운 어노테이션이 계속 등장하고 있는 실정이다!!! @Scope : Spring 에서 관리하는 Bean(객체)은 싱글턴 상
cafe.daum.net
https://tibang.tistory.com/entry/Value-Spring-EL
@Value, Spring EL
@Value변수에 값을 초기화하기 위해 사용한다. @Value("#{dataInfo.name}") // Spring EL : #{표현식}, 만들어진 Component 객체를 이용,private는 getter를 이용해서 가져옴private String name; datainfo객체의 name 변수에 접
tibang.tistory.com