다양한 API와의 연동 지원을 통한 JAVA EE 구현가능하다. (분산X)
Aspect Oriented Programming(AOP) : 관점지향 프로그래밍
※ Dependency Injection을 이용한다는 것.
실행기가 외부파일에 등록해둔(XML)의 <bean id>를 찾아서
Spring Application Context 내부에 객체들을 만듬
이 객체들이 JVM의 메모리 번지수로 들어가니 키와 밸류로 관리됨. 맵 자료 구조형태
소스코드에서 박아서 쓴다 vs 의존관계
- 소스코드에 박아서 씀
ProductService.java에
public ProductService() {
repository = new ProductOracleMybatisRepository();
}
- 외부파일로 의존관계를 설정을 해 놓고 사용할 수 있도록 주입할 수 있는 방식(이게 dependency injection)
myApplicationContext.xml에
<bean id="productDAO"class="com.my.product.dao.ProductOracleRepository"> </bean>
<bean id="productService" class="com.my.product.service.ProductService">
<property name="repository" ref="productDAO"></property>
</bean>
의존성을 주입할 수 있는 2가지 방법
1. Setter Injection
property tag 이용
<property name="repository" ref="productDAO"></property>
property(setter)에 의해서 repository라는 property. productService에 주입
repository라는 name 멤버변수
2. Constructor Injection
생성자 이용
<constructor-arg ref="productDAO"></constructor-arg> property대신 생성자를 통해서 주입가능
'프레임워크 > Spring' 카테고리의 다른 글
Inversion of Control (0) | 2023.10.30 |
---|---|
스프링 구성 모듈 (0) | 2023.10.30 |
POJO(Plain Old Java Object) (0) | 2023.10.30 |
EJB(Enterprise Java Beans) (0) | 2023.10.26 |
스프링의 시작 (0) | 2023.10.24 |