티스토리 뷰
Spring DI 구성에서 사용하고자 하는 Dao 에 어떤 값을 전달하고자 하면, 등록한 bean 태그 내부에 constructor-arg 태그를 사용하여 전달할 수 있다.
◎ExamDao
package test.exam01;
public class ExamDao {
private String msg;
public ExamDao() {
}
public ExamDao(String msg) {
this.msg = msg;
}
public void printMessage() {
System.out.println("ExamDao의 msg 내용: " + msg);
}
}
이때, 위와 같이 기본 생성자가 무조건 있는 상태에서 setter개념의 생성자를 하나 더 만들어줘야 한다.
◎exam01.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id = "examDao" class = "test.exam01.ExamDao">
<constructor-arg value ="Test 문자열을 생성자에게 전달"></constructor-arg>
</bean>
</beans>
◎ExamMain
package test.exam01;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
public class ExamMain {
public static void main(String[] args) {
ApplicationContext context = new FileSystemXmlApplicationContext("src/test/exam01/exam01.xml");
ExamDao exam = (ExamDao)context.getBean("examDao");
System.out.println("Start");
exam.printMessage();
System.out.println("end");
}
}
값이 여러 개인 경우는 순차적으로 constructor-arg를 추가해주면 된다. 또한 기본적으로 value 속성을 이용하여 값을 전달하면 해당 인자의 자료형은 String이다. 그러나 value 속성의 type 속성을 추가하면 해당 자료형을 변경할 수 있다.
반응형
'[JAVA] > Spring' 카테고리의 다른 글
[Spring] Spring DI 객체 주입 (0) | 2021.06.14 |
---|---|
[Spring] 싱글톤 패턴 객체 접근 (0) | 2021.06.14 |
[Spring] 스프링의 DI(Dependency Injection) 의존성 주입 (0) | 2021.06.14 |
[Spring] Spring 게시판 예제 마무리 & 구조 정리 (0) | 2021.06.14 |
[Spring] 게시판 예제를 통한 Spring 구조 정리 (0) | 2021.06.10 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- javascript
- react
- 인천 구월동 이탈리안 맛집
- 이탈리안 레스토랑
- 파니노구스토
- 맛집
- Promise
- redux
- 인천 구월동 맛집
- await
- redux-thunk
- 정보보안기사 #실기 #정리
- Async
- AsyncStorage
- react-native
- Total
- Today
- Yesterday