<Spring> 7. Annotation
by BFine반응형
1. Component, Autowired
java 코드 길이를 최소화하기 위해 사용 ( IoC ), @명으로 사용한다.
Component, Service 클래스 위에 선언 : 객체 생성 (bean 대신)
Autowired Resource Qualifier 변수위 선언 : 생성된 다른 객체 의존성 주입 property 대신
두개이상일 경우 Autowired Qualifier("매핑명") 같이선언
Component -> 객체 생성 , Autowired-> 생성되어있는 객체를 자동연결
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ================Xml=================== <context:component-scan base-package="test"/> //test 패기지의 모든 component 를 찾는다 ====================================== @Component("dog") //dog 객체 생성 public class Beagle implements Dog{ @Autowired // 자동으로 생성된 객체를 연결 Mala mala; } =================main===================== ApplicationContext context= new ClassPathXmlApplicationContext("dog_xml.xml"); Beagle dog1=context.getBean("dog",Beagle.class); dog1.bark(); System.out.println("평균 가격 : "+dog1.avg_price()); dog1.getMala().bark(); //말라 클래스에서도 Component 필요 =========================================== | cs |
실행
2. Qualifier, Resource
Qualifier : 매핑되는 객체가 여러개 있을 경우 Autowired로 해결 할 수 없기 때문에 사용
ex) Mala라는 객체를 2개 만들고 Autowired 할 경우 ( found 객체1, 객체2 에러 발생 ), 이름을 같게 해주거나 Qualifer 사용
Resource : Autowired+Qualifer 것으로 객체 이름을 사용하여 매핑
1 2 3 4 5 6 7 8 9 10 | @Autowired @Qualifier("mala1") Mala mala; ===============XML================= <bean id="mala2" class="test.Mala"></bean> <bean id="mala1" class="test.Mala"></bean> ==============+Main================= Beagle beagle=context.getBean("dog",Beagle.class); beagle.getMala().bark(); | cs |
실행
반응형
'공부(2018~2019) - 스킨변경전 > Spring' 카테고리의 다른 글
<Spring> 9. MVC pattern (0) | 2018.05.09 |
---|---|
<Spring> 8. AOP (0) | 2018.05.04 |
<Spring> 6. Spring basic, IoC, DI (0) | 2018.04.30 |
<Spring> 5. Bitnami 설치-컴퓨터로 웹서버 구현 (0) | 2018.04.22 |
<Spring> 4.내용,수정,삭제 구현-Spring 게시판구축하기 (0) | 2018.03.26 |
블로그의 정보
57개월 BackEnd
BFine