섹션 3. 의존객체
6강 DI(Dependency Injection)
6-1 DI란?
의존 주입
의존하는 객체를 만들어서 외부에서 따로 주입하는 것.
생성자를 이용하는 방식, setter를 이용하는 방식 등 여러가지 있다.
셋 다 의존 주입 But 3번째가 제일 많이 사용됨.
6-2 스프링 DI 설정 방법
7장에서 더 자세히 나옴.
7강 다양한 의존 객체 주입
7-1 생성자를 이용한 의존 객체 주입
public StudentRegisterService(StudentDao studentDao) {
this.studentDao = studentDao;
}
<bean id="registerService" class="ems.member.service.StudentRegisterService">
<constructor-arg ref="studentDao" ></constructor-arg> <!--생성자 파라미터, ref에 해당하는 객체의 id 값 넣어줌-->
</bean>
7-2 setter를 이용한 의존 객체 주입
public void setJdbcUrl(String jdbcUrl) {
this.jdbcUrl = jdbcUrl;
}
public void setUserId(String userId) {
this.userId = userId;
}
public void setUserPw(String userPw) {
this.userPw = userPw;
}
<bean id="dataBaseConnectionInfoDev" class="ems.member.DataBaseConnectionInfo">
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="userId" value="scott" />
<property name="userPw" value="tiger" />
</bean>
** 규칙: setter 메소드 이름에서 set을 빼고 첫번째 대문자를 소문자로 바꾼 이름을 name의 속성값으로 넣어야 함
setJdbcUrl -> jdbcUrl
7-3 List 타입 의존 객체 주입
public void setDevelopers(List<String> developers) {
this.developers = developers;
}
<property name="developers">
<list>
<value>Cheney.</value>
<value>Eloy.</value>
<value>Jasper.</value>
<value>Dillon.</value>
<value>Kian.</value>
</list>
</property>
7-4 Map 타입 의존 객체 주입
public void setAdministrators(Map<String, String> administrators) {
this.administrators = administrators;
}
<property name="administrators">
<map>
<entry>
<key>
<value>Cheney</value>
</key>
<value>cheney@springPjt.org</value>
</entry>
<entry>
<key>
<value>Jasper</value>
</key>
<value>jasper@springPjt.org</value>
</entry>
</map>
</property>
예제로 보여준 코드가 아직 배우지 않은 dao나 db연결 같은 기능이 구현되어 있는 코드라 처음 접하는 사람들은 이해하기 어려울 것 같다.
'스터디📖 > Spring' 카테고리의 다른 글
3. 의존 객체 - 2 (0) | 2021.07.05 |
---|---|
3. 의존 객체 - 1 (0) | 2021.07.02 |
2. 프로젝트 생성 (0) | 2021.06.30 |
1. 스프링 프레임워크 (0) | 2021.06.29 |
0. 스프링 개요 (0) | 2021.06.28 |