해당 문서는 아래의 강의를 정리 및 요약한 문서입니다.
자세한 사항은 강의를 참조하시기 바랍니다.
https://www.youtube.com/playlist?list=PLPvokKzUkaLeiLUDKpqRdP8jtLU8lLKgR
1. 스프링 프로젝트 생성하기 (정말 기본 프로젝트만 만들기)
2. DI(Dependency Injection, 의존성 주입) & IOC 컨테이너
Q. 의존한다? => 위의 MainClass 클래스는 사칙연산을 수행하기 위해서 Calculation 클래스의 기능을 사용하기 때문에, MainClass는 Calculation 클래스를 의존한다고 볼 수 있다.
이와 같이 객체를 생성해서 의존할 때, 2가지 방식이 존재하는데,
1) 의존하는 A객체가 의존하려는 객체 B, C를 직접 생성하는 방법
2) 객체 B, C를 외부에서 생성해서(setter()와 construct()를 이용해서) A객체에게 주입하는 방법이다.
개발론적으로 보면 방법2가 더 좋은 방법이며, 스프링이 채택하고 있는 방식임.
A객체에 주입하려는 개별 객체를 부품이라고 볼 수 있다. 이 부품들을 담고 있는 것을 IOC 컨테이너라고 한다.
3. DI - 스프링을 이용한 객체 생성과 조립
property: 해당 클래스 객체가 가지고 있는 필드에 대한 설정
ref bean: 참조하는 객체의 타입 설정
==> 의존성 주입을 위한 bean configuration file 생성 방법. (물론 파일명은 자유롭게 해도됨)
4. DI - configuration 파일의 property 설정 방법 및 컨테이너 이해
5. DI 의존관계
6. DI 설정 방법
1) XML파일을 이용한 설정방법
2) JAVA파일을 이용한 설정 방법 (강사분 말로는 그다지 많이 사용하지는 않는다는듯...했으나 STS4부터는 xml 로 컨테이너 만들 수 없음. 강사님이 말씀하시는 많이 안쓸거 같다던 java 기반으로 컨테이너 만드는것만 지원함.)
3) XML+JAVA 파일 이용한 설정방법
<constructor-arg>는 옆에서 보듯, Student객체의 생성자에서 설정하는 데이터를 뜻함
constructor-arg를 간편하게 쓸 경우 "c:" = c네임스페이스
property를 간편하게 쓸 경우 "p:" = p네임스페이스
네임스페이스를 쓸 경우에는, xmlns:c = "http://www.springframework.org/schema/c" 처럼 네임스페이스를 bean configuration file에서 쓰겠다고 명시하며 추가해야함
1) xml에 java를 삽입하는 방법
- xml에 java configuration파일을 사용할 때는, bean 생성 코드 바로 위에 <context:annotation-config>를 설정해줘야함
2) java에 xml을 삽입하는 방법
- java파일의 @Configuration 아래에 @importResource("경로")로 추가
'Dev > Web' 카테고리의 다른 글
[Spring] 3. AOP-I (0) | 2019.10.18 |
---|---|
[Spring] 2. 생명주기, 외부 파일을 이용한 설정 (0) | 2019.10.18 |
[Struts2] 파라미터 전달 (0) | 2019.10.15 |
[Eclipse] Referenced Libraries(외부 라이브러리) 추가 방법 (0) | 2019.10.15 |
[MyBatis] MyBatis.xml 설정, DB 연결하기 (0) | 2019.10.14 |