최대 1 분 소요

Autowired를 이욯한 DI

-XML로 설정 할때의 모듈 변경 방법

이전까지는 xml로 뺐는데 코드를 수정하지 않고 하였다

이유?  

바꾸기 위한 코드가 나중에 수정 될 수 있기 때문에 결합상태 내용이 변경을 할 수 있게 코드를 뺀것이다

ex) b2를 쓰다가 b3로 업데이트 할때 생성해야할 객체가 b3가 되야한다 -> 이떄 설정을 바꿔야하는데

이때 xml을 사용했을때는 가능하다

객체를 바꾸면 설정은 같이 바뀌지 않음 -> 코드에 메타데이터를 심는 형식으로 바뀜

 

  • Annotaion으로 설정할 때의 모듈 변경 방법

장점

@Component을 가지고 있는 녀석을 생성하고 삭제해준다

객체를 바꿔버리면 설정도 바꿔진다 다른거 손 쓸 필요가 없다

설정을 분리하는 방법에서 설정을 코드와 같이 가져가는 방법을 사용한다

@Autowired


	@Autowired // 자동으로 객체를 연결해주세요
	@Override
	public void setExam(Exam exam) {
		this.exam = exam;
	}

setter에게 autowired를 해준다 에러 발생-> 지시서에 객체를 연결해주세요 라고 말해야한다

context라는 namespace가 필요하다

<context:annotation-config/>
	<bean id ="exam" class ="spring.di.entity.NewlecExam" p:kor="1" p:eng="1"/>
	    <bean id="console" class="spring.di.ui.GridExamConsole" >
	    </bean>
	
	<util:list id="exams" list-class="java.util.ArrayList">
		<bean class ="spring.di.entity.NewlecExam" p:kor="1" p:eng="1"/>
		<!-- 위에는 직접 만든것이고 아래는 참조 -->
		<ref bean = "exam"/>
	</util:list>

카테고리:

업데이트:

댓글남기기