웹(Web)/백엔드(Backend)

스프링 IoC 컨테이너 사용(ApplicationContext 사용)

SK_MOUSE 2021. 4. 5. 17:22
반응형

"어떻게 만들어달라"는 지시서를 전송

 

ApplicationContext 

 

<XML로 설정>

1. maven사용 -> spring.io 라이브러리를 pom.xml에 불러옴.

2. ApplicationContext 사용. ClassPathXmlApplicationContext로 생성.

지시서 생성
빈을 가져옴

두가지 방식 다 된다.

첫번째 방법: Bean이라는 녀석을 만드는데 이름가지고 "console"이라는 애를 꺼내면, 형식변환을 해서 써야함.

=> 객체에 대한 형식을 모르기때문에 Object형으로 나오므로 형변환해야함.

 

두번째 방법: 자료형 명으로 꺼낼 수 있다.

=> 인터페이스 형식(ExamConsole.class)에 참조된 녀석을 찾아서 거기에 맞게 얻어다줌.

 


<Setter로 설정하는 방식>

값 형식 DI

두가지 방법으로 property 설정가능

위처럼 property value값을 넣어줄 수 있다.

 

 

<생성자로 설정하는 방식>

생성자로 받는것은 java코드는 아래와같다.

생성자

그리고 xml에서 생성자에 아래처럼 순서대로 값을 넣어준다.

 

4개의 값을 전달할수있는데

1. index를 이용한 방법

이렇게 넣는 순서를 바꿀 수 있다.

2. name을 이용한 방법

3. type을 이용한 방법

자료형이 위처럼 다른경우라고 가정.

 

 

 

<NameSpace를 이용하여 식별자로 넣기>

NameSpace는 이름을 식별할수있게 확장시켜서 붙이는것.

 

<bean>이 같은문서에 두개 있으면??

길동이들

성을 보고 나서 NameSpace에서 구분해서 처리한다.

ns p : namespace p

NameSpace p에 대해서 식별자를 넣어주는것이다.

따라서 위에는 kor에만 10이 들어감

이렇게한다면

kor와 eng에 10씩 들어갈 것이다.

 

 


어노테이션에 대해 배우기 전, XML로 ArrayList에다가 추가하는 방식을 배워보자.

 

아래의 Java코드에서 가져오는것을 XML을 이용하여 가져올 것이다.

결과는 아래와같다
결과창

아래는 XML을 이용하여 ArrayList를 가져오겠다.

이름을 통해 가져와보겠다.

list에 NewlecExam을 추가한다.

이름을 통해 XML에서 가져오면 형변환이 필요하다.

XML에서 ArrayList를 만들어달라.
ArrayList가 잘 만들어졌다.

 


다음은 객체에 컬렉션을 추가하는 방법(add)을 알아보겠다.

컬렉션 추가

kor="1", eng="1"을 넣는 생성자로 컬렉션을 추가해서 가져올수있다.

혹은, ref(참조)로 위에서 사용한 "exam" 객체를 가져올수도있다.

 

 

 

직접 새로운 객체를 만드는방법utill:list를 사용해야된다.

Arraylist생성

결과는 똑같이 출력된다.

 

 

 

 

이번 강의를 통해 스프링에서 컬렉션을 추가해주는 방법을 배워봤다.

반응형