Spring IoC / DI
Java의 Class 상속 / Interface 를 이용한 추상화를 기반으로 하는 개발 방법
Spring은 아래 IOC / DI를 강력하게 지원하는 프레임 워크이다.
- IoC : Inversion of Control
프로그램을 제어하는 패턴 중 하나
DI는 IoC 패턴의 구현 방법 중 하나
DI에 따라 프로그램의 흐름이 완전히 변경된다. - DI : Dependency Injection
스프링 Container에 만들어둔 각 종 클래스(bean)들은 서로 의존적이다.
A 객체가 B객체 없이 동작이 불가능한 상황
- xmlns : 속성 값은 네임스페이스로 태그를 식별
- xmlns:xsi : XML 정보를 가리키는 주소
- xsi:schemaLocation : 두 개의 값이 공백으로 구분(첫번째:사용할 네임스페이스/두번째:참조할 네임스페이스 위치)
생성자를 이용한 의존 객체 주입 방법
의존성 주입 방법은 여러 가지가 있지만, 이 중 생성자를 이용한 방법을 가장 많이 권장한다.
Setter를 통한 의존 객체 주입
빈(Bean)의 범위
1. 싱글톤(SingleTon) : 스프링 컨테이너에서 생성된 빈 객체의 경우 동일한 타입에 대해서는 기본적으로 한 개만 생성
▶ getBean() 메소드로 호출될 때 동일한 객체가 반환된다.
2. 프로토타입(ProtoType) : 싱글톤 범위와 반대의 개념으로, 개발자가 별도로 설정해줘야 한다.
▶ 스프링 설정 파일에서 빈(Bean) 객체를 정의할 때 Scope 속성을 명시해 주면 된다.
의존 객체 자동 주입
스프링 설정 파일에서 의존 객체를 주입할 때 <constrructor-org> 또는 <property> 태그로 의존 대상 객체를 명시하지 않아도 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다.
구현 방법은 @Autowired 와 @Resource Anntation을 이용해서 쉽게 구현한다.
@Autowired - 속성값, 세터, 생성자 적용 가능
주입하려고 하는 객체의 타입이 일치하는 객체를 자동으로 주입힌다
@Resource - 속성값, 세터 적용 가능
주입하려고 하는 객체의 이름이 일치하는 객체를 자동으로 주입한다.
@Qualifier - 모호한 bean의 강제 연결
빈 생성과 의존성 주입 비교!!!!
XML 파일을 JAVA 파일로 변경하기!!
728x90
'Programming > Spring' 카테고리의 다른 글
[Spring] JSP에 스프링 조합하기 (0) | 2024.05.15 |
---|---|
[Spring] 스프링 MVC 웹 서비스 (0) | 2024.05.15 |
[Spring] 개발 환경 구축 (0) | 2024.05.15 |
[Spring] Maven Project 생성 (0) | 2024.05.15 |
[Spring] Spring의 이해 (0) | 2024.05.15 |